- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我启用了setIsTouchEnabled(true);
,但我无法在cocos2d-android中检测到触摸开始和触摸结束。
我的玩家是
public class GameLayer extends CCColorLayer
{
protected CCLabel _label;
public static CCScene scene()
{
CCScene scene = CCScene.node();
GameLayer layer = new GameLayer(ccColor4B.ccc4(90, 90, 255, 255));
layer.getLabel();
scene.addChild(layer);
return scene;
}
public CCLabel getLabel()
{
return _label;
}
protected GameLayer(ccColor4B color)
{
super(color);
this.setIsTouchEnabled(true);
CGSize winSize = CCDirector.sharedDirector().displaySize();
Context context = CCDirector.sharedDirector().getActivity();
_label = CCLabel.makeLabel("Tap On Me to START the game", "DroidSans", 32);
_label.setColor(ccColor3B.ccBLACK);
_label.setPosition(winSize.width/2, winSize.height/2);
addChild(_label);
}
@Override
public boolean ccTouchesBegan(MotionEvent event)
{
CGRect projectileRect = CGRect.make(_label.getPosition().x,_label.getPosition().y, _label.getContentSize().width,_label.getContentSize().height);
CGPoint touchLocation = CGPoint.ccp(event.getX(), event.getY());
CGRect targetRect = CGRect.make(event.getX(), event.getY(), 20, 20);
System.out.print(":touch Points are - :"+projectileRect+" _ - _ "+touchLocation+" _ - _ "+targetRect);
if (CGRect.intersects(projectileRect, targetRect))
{
System.err.print(": This is intersect function from App :");
}
return true;
}
@Override
public boolean ccTouchesEnded(MotionEvent event)
{
// Choose one of the touches to work with
CGPoint location = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(50, 200));
System.out.printf("Got touch ", location);
CGSize winSize = CCDirector.sharedDirector().displaySize();
return true;
}
}
有人能指出我哪里出了问题吗?我没有收到任何错误,并且 logcat 中没有跟踪任何日志
最佳答案
你的代码很好,只需使用System.out.println()
函数将文本输出到控制台,而不是System.out.printf()、System.err.print()
。当我替换它们时,文本出现在控制台中。
这个:
System.out.print(":touch Points are - :"+projectileRect+" _ - _ "+touchLocation+" _ - _ "+targetRect);
更改为:
System.out.println(":touch Points are - :"+projectileRect+" _ - _ "+touchLocation+" _ - _ "+targetRect);
还有这个:
System.err.print(": This is intersect function from App :");
更改为:
System.out.println(": This is intersect function from App :");
还有这个:
System.out.printf("Got touch ", location);
更改为:
System.out.println("Got touch " + location);
关于cocos2d-android - ccTouchesBegan 在 cocos2d-android 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17359063/
我想知道 ccTouchesBegan 中的 NSSet 触摸是否可以包含多个触摸。我做了一些测试,触摸次数始终为 1。 谁能证实这一点?如果只有一次触摸,为什么会有一套? -(void) ccTou
我的问题是,在它完美运行之前我一直在使用这种方法,今天我试图在另一个项目中使用它。这是代码 - (void) ccTouchesBegan:(NSSet *)touches withEvent:(UI
您好,我已经使用 cocos2D 框架为演示游戏应用程序创建了一个层。我已将 cocos2d 与现有应用程序集成。我需要为此检测触摸事件。但我无法检测到。我使用了 ccTouchesBegan。 -
我启用了setIsTouchEnabled(true);,但我无法在cocos2d-android中检测到触摸开始和触摸结束。 我的玩家是 public class GameLayer extend
是否可以让系统在 CCMenuItem 元素上移动时调用 ccLayer 的 ccTouchesBegan 而无需覆盖 CCMenuItem 类? 最佳答案 将目标委托(delegate)添加到触摸优
我正在尝试让我的 CCLayer 子类响应多点触控。在我调用的 init 方法中 self.isTouchEnabled=YES; 在一个名为 registerWithTouchDispatcher
我在从 ccTouchesBegan 方法访问公共(public) ivar 时遇到了一些问题, 我有这个场景: class introScene : public cocos2d::CCLayer
我是一名优秀的程序员,十分优秀!