cocos2dx 精灵自动下落

在很多点击类游戏中,有很多场景用到了自动下落。例如:钢琴块



要实现自动下落功能,需要知道几个函数:scheduleUpdateschedule、scheduleOnce。这几个函数都是定时器函数。什么是定时器?实际可以简单的理解为经过多长时间去执行某一个动作。比如经过3秒执行一次加法运算。注意这个字的含义,它代表的是循环。还有这样的定时器,只执行一次,但是是经过3秒钟才执行这一次动作,然后在下个3秒就不在执行了。这种定时器是一次性的定时器,不是上面的循环计时器。所以定时器大致分为2种:1、循环定时器(每经过一段时间进行一次动作执行)2、一次性定时器(经过一段时间后执行一个动作,然后就不在执行,即使又经过了一段时间也不在执行。)


理解了定时器,还要理解一个概念:位置移动。实际精灵在屏幕上显示的位置是以屏幕坐标来定位的。这个坐标分很多种例如:世界坐标,UI坐标,这里不在表述。只知道它是个坐标就好了。一个720x1080的屏幕。宽:720像素,高:1080像素。举个例子:有一个精灵她的坐标是100x100。X轴坐标是100,Y轴是100。在给他一个坐标100,50。在坐标系中去画出来她。


无标题.png


方块2的位置相对于方块1的位置,在手机上显示是不是就感觉下降了。实际这就是下落的原理:改变精灵坐标。结合定时器,让坐标每经过一段时间就更改一下Y轴坐标。就可以实现了。代码如下:



schedule(schedule_selector(Can::update),interval);


setPosition( getPosition() + ccp(0,Can_down) );



cocos2dx 精灵自动下落


本站如无特别说明即为原创,转而告知:(http://iwonmo.com/archives/1158.html)

标签: cocos2dx, 自动下落, 定时器, 坐标, cocos2dx 精灵

添加新评论