lua cocosstudio 怎么获得触摸点的坐标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua cocosstudio 怎么获得触摸点的坐标相关的知识,希望对你有一定的参考价值。

首先触摸方式应该是Touch,这点毋容置疑的。其次在require后,对导出的lua文件中的触摸回调添加自定义回调,重点就是自定义回调中如何获取触摸点坐标,也就是题主所提出的问题关键。比如自定义回调函数为CloseButton( node, eventType ),node就是触摸本身的节点(比如按钮,图片等),在CloseButton中获取实时的触摸坐标为node:getTouchMovePosition(),这样就能获取到move时的触摸点坐标。如果想知道触摸开始的的坐标则为node:getTouchBeganPosition()。 参考技术A 首先导出的LUA文件是这样的 箭头指向的位置有个Create函数。就是调用这个函数进行创建。(至于这个参数是什么,后边会讲到) 首先,先将导出的这个文件require进来,进来之后呢,调用create方法,就会返回Cocos创建的Scene了本回答被提问者采纳

ios开发事件处理之 四:hittest方法的底层实现与应用

#import "XMGWindow.h"
/**
 1:注意点:hitTest方法内部会调用pointInside方法,询问触摸点是否在自己身上,当遍历子控件时,传入的坐标点要进行转化,将父视图上的坐标点转换到所要传递的子视图上的坐标点
 2:hitTest的底层实现:当控件接收到触摸事件的时候,不管能不能处理事件,都会调用hitTest方法,此方法的底层实现是:1:先看自己是否能接受触摸事件  2:再看触摸点是否在自己身上 3:从后往前遍历子控件,拿到子控件后,再次重复1,2步骤,要把父控件上的坐标点转换为子控件坐标系下的点,再次执行hitTest方法。
 
 3:若是最后还没有找到合适的view,那么就return self,自己就是合适的view
 
 
 
 */
@implementation XMGWindow


//作用:去寻找最适合的View
//什么时候调用:当一个事件传递给当前View,就会调用.
//返回值:返回的是谁,谁就是最适合的View(就会调用最适合的View的touch方法)
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
   
    //1.判断自己能否接收事件
    if(self.userInteractionEnabled == NO || self.hidden == YES || self.alpha <= 0.01) {
        return nil;
    }
    //2.判断当前点在不在当前View.
    if (![self pointInside:point withEvent:event]) {
        return nil;
    }
    //3.从后往前遍历自己的子控件.让子控件重复前两步操作,(把事件传递给,让子控件调用hitTest)
    int count = (int)self.subviews.count;
    for (int i = count - 1; i >= 0; i--) {
        //取出每一个子控件
        UIView *chileV =  self.subviews[i];
        //把当前的点转换成子控件坐标系上的点.
        CGPoint childP = [self convertPoint:point toView:chileV];
        UIView *fitView = [chileV hitTest:childP withEvent:event];
        //判断有没有找到最适合的View
        if(fitView){
            return fitView;
        }
    }
    
    //4.没有找到比它自己更适合的View.那么它自己就是最适合的View
    return self;
    
}



//作用:判断当前点在不在它调用View,(谁调用pointInside,这个View就是谁)
//什么时候调用:它是在hitTest方法当中调用的.
//注意:point点必须得要跟它方法调用者在同一个坐标系里面
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
    NSLog(@"%s",__func__);
    return YES;
}





@end

 

以上是关于lua cocosstudio 怎么获得触摸点的坐标的主要内容,如果未能解决你的问题,请参考以下文章

怎么用OpenCV编程实现输出白色像素点的坐标值

ansys中如何查看某1个点的坐标?

用arcpy读取线要素,返回第一个点和最后一个点的坐标值

如何看待cocos creator加入Lua

用java怎么获得一张图片上的一个文字的坐标点 求高手解答

用Bresenham方法画P1(1,2)到P2(8,6)的直线,根据算法求出dx,dy,以及各点的坐标值。