关于游戏引擎PushButton的教程和演示(二)
上一期我们说到了PushButton游戏引擎的helloworld,我们在一张幕布上成功画出了一个圆,这一节,我们要做的就是让这个圆动起来。
这对我来说是激动人心的(因为我原本只是写写简单的交互JS),上一节我们讲到PushButton最大的特点就是以组件为中心,一个实体好比一个空箱子,放在里边好多各种功能的石头,这个箱子就具有了各种各样的功能,这些有魔力的石头,也就是我们所说的组件。
所以当我们要做这样一个应用时,你可能会自然的想到,要被鼠标控制,这样的一个功能,是不是一个组件的?you're right ,my friend。 看了上面的代码,我们的目光会锁定在这个类继承的这个叫 TickComponent,这是一个比较关键的组件,在我看来,既然FLEX没有时间轴的概念,那么Tick这个概念就很重要了,这对于你在每一个tickRate时间点上都可对相应的实体进行检测和控制,此篇就是对键盘的简单控制。
键盘控制的细节就不做多讲解,xMovement/yMovement在我理解就是一个缓冲,让你的每一次键盘操作更流畅而不僵硬。
这里我们第一次在组件中看到owner的身影,他代表对该实体的引用(也就是说每个石头上有这么个标记要owner,指明放石头的盒子),通过owner可以访问很多实体的属性,比如现在我们说的这个position,还有未来要接触比较关键的线速度(linearVelocity)。
我们写完这个组件后需要把它加入到我们原本编辑好的圈圈实体内,像添加其他组件一样 组件实体的结构化很彻底,有没有又让你想起什么?XML?
运行实例,你会发现,小圈圈已经可以跟上你的大脑畅游了
DEMO页面:http://www.brighthub.com/hubfolio/matthew-casperson/media/p/61005.aspx
DEMO下载页面:http://www.brighthub.com/hubfolio/matthew-casperson/media/p/61006.aspx
英文原版教程页面:http://www.bukisa.com/articles/225993_pushbutton-tutorial-series-keyboard-input(注:该国外教程服务器不稳定,偶尔睡觉)
下一期我们将尝试让我们的角色变得更有趣一些,把圆圈变成会动的小人?
感谢 Matthew Casperson,感谢无私的分享。
这对我来说是激动人心的(因为我原本只是写写简单的交互JS),上一节我们讲到PushButton最大的特点就是以组件为中心,一个实体好比一个空箱子,放在里边好多各种功能的石头,这个箱子就具有了各种各样的功能,这些有魔力的石头,也就是我们所说的组件。
所以当我们要做这样一个应用时,你可能会自然的想到,要被鼠标控制,这样的一个功能,是不是一个组件的?you're right ,my friend。 看了上面的代码,我们的目光会锁定在这个类继承的这个叫 TickComponent,这是一个比较关键的组件,在我看来,既然FLEX没有时间轴的概念,那么Tick这个概念就很重要了,这对于你在每一个tickRate时间点上都可对相应的实体进行检测和控制,此篇就是对键盘的简单控制。
键盘控制的细节就不做多讲解,xMovement/yMovement在我理解就是一个缓冲,让你的每一次键盘操作更流畅而不僵硬。
这里我们第一次在组件中看到owner的身影,他代表对该实体的引用(也就是说每个石头上有这么个标记要owner,指明放石头的盒子),通过owner可以访问很多实体的属性,比如现在我们说的这个position,还有未来要接触比较关键的线速度(linearVelocity)。
我们写完这个组件后需要把它加入到我们原本编辑好的圈圈实体内,像添加其他组件一样 组件实体的结构化很彻底,有没有又让你想起什么?XML?
运行实例,你会发现,小圈圈已经可以跟上你的大脑畅游了
DEMO页面:http://www.brighthub.com/hubfolio/matthew-casperson/media/p/61005.aspx
DEMO下载页面:http://www.brighthub.com/hubfolio/matthew-casperson/media/p/61006.aspx
英文原版教程页面:http://www.bukisa.com/articles/225993_pushbutton-tutorial-series-keyboard-input(注:该国外教程服务器不稳定,偶尔睡觉)
下一期我们将尝试让我们的角色变得更有趣一些,把圆圈变成会动的小人?
感谢 Matthew Casperson,感谢无私的分享。