飞机的移动。游戏中飞机的移动,玩家手指点击屏幕,滑动。飞机随着移动,首先我们要确定手指按下触碰的点。在计算出滑动的xy轴像素作为飞机移动的像素
移动函数以及实现
void moveTo(int x,int y);void Plane::moveTo(int x, int y)
{
this->getChildByTag(10)->setPosition(x,y);
this->px=x;
this->py=y;
}在game调用实现
virtual bool onTouchBegan(Touch *touch, Event *unused_event);
virtual void onTouchMoved(Touch *touch, Event *unused_event);bool Game::onTouchBegan(Touch *touch, Event *unused_event){
this->startX=touch->getLocation().x;
this->startY=touch->getLocation().y;
return true;
}
void Game::onTouchMoved(Touch *touch, Event *unused_event){
float mx=touch->getLocation().x-startX;
float my=touch->getLocation().y-startY;
auto plane=(Plane *)this->getChildByTag(110);
plane->moveTo(plane->px+mx, plane->py+my);
this->startX=touch->getLocation().x;
this->startY=touch->getLocation().y;}
本文介绍了一个简单的游戏开发案例,展示了如何通过触摸事件控制游戏中的飞机移动。具体实现了手指按下时记录初始位置,并在手指滑动时计算偏移量,进而更新飞机的位置。
2351

被折叠的 条评论
为什么被折叠?



