当我触摸屏幕我的精灵必须改变
问题描述:
我想可一个动作,我不能让这个效应:当我触摸到我的精灵有可能改变一个又一个画面,当我挂完当我触摸屏幕我的精灵必须改变
它必须回到初始状态。我如何检测我正在触摸屏幕的时间并使精灵发生变化?
感谢您的帮助。
答
使用变量normalSprite和pressedSprite创建CCNode的子类。在初始化器,加上这一点,以便它处理亮点:
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
添加的方法与此签名来处理,当屏幕被触摸:
-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
// Check that touch is within boundaries of this object
CGPoint touchLocation = [self convertTouchToNodeSpace:touch];
if (!CGRectContainsPoint(CGRectMake(0, 0, self.boundingBox.size.width, self.boundingBox.size.height), touchLocation)) {
return TRUE;
}
// Switch image
[self removeChild:normalSprite cleanup:NO];
[self addChild:pressedSprite];
return TRUE;
}
添加的方法与此签名来处理时,手指熄灭:
-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event {
// Switch image back
[self removeChild:pressedSprite cleanup:NO];
[self addChild:normalSprite];
}
您还可以添加ccTouchMoved(一切一样ccTouchEnded)来处理在触摸外和背部运动的边界内的情况下,物体。
我们需要了解更多关于该问题的更多信息。请认真描述一下您的开发,您使用的平台以及您所看到的问题。 – 2011-04-03 19:02:05