查看: 2147|回复: 2
打印 上一主题 下一主题

【Flare3D创建黄色星球】控制角色运动状态_步骤7

[复制链接]

5472

主题

6

听众

1万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
76544
精华
23

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2013-3-3 10:42:13 |只看该作者 |倒序浏览
步骤7:控制角色运动状态YellowPlanet_07.as 包含本节描述的代码。
本节描述的概念与开发任何其它 Flash 游戏使用的概念类似。 在本步骤中,我们的目的是让宇航员能够跳过 Y 轴。
由于宇航员位于容器对象的内部,所以无论容器的方位如何变化均无关紧要。 宇航员总是沿着其自己的 Y 轴上下移动。在完成这一步骤之后,你需要更新游戏的逻辑。 为了管理游戏播放的流程,添加一些状态变量非常必要。 此外,你必须添加函数gameLogics 以便在播放游戏过程中更新所有游戏状态。
管理状态和游戏变量
添加下列给出的代码以便实现一些游戏逻辑。 为了控制宇航员角色的行为,你需要保存角色的状态。 此外,为了控制宇航员的动量,你必须添加一个名称为 jumpValue 的新变量。 // Game logics variables.private var state:String = &quot***n";private var jumpValue:Number = 0;
使用 gameLogics 方法
在每次 Update 重复操作时均调用 gamesLogic 方法。 gamesLogic方法能够核查宇航员的状态。 如有必要,你可以修改游戏行为以改变其工作方式。 例如,如果用户按下 Space 键,则它将激活FireEmiter 并且更新角色的动画效果。 下面是一个范例:
private function gameLogics():void{    switch( state )    {        case &quot***n":if ( Input3D.keyHit( Input3D.SPACE ) ){    jumpValue = 4;fireEmiter.emitParticlesPerFrame= 25;state = "jump";container.gotoAndPlay( "jump",3 );}break;case "jump":if ( astronaut.y == 0 ){    state = &quot***n";container.gotoAndPlay( &quot***n", 3 );}break;}}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

0

主题

2

听众

3482

积分

中级设计师

Rank: 5Rank: 5

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-1-27 22:04:47 |只看该作者
太好了,支持一下
回复

使用道具 举报

0

主题

1

听众

2458

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-2-22 15:28:42 |只看该作者
好东西啊,感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 18:06 , Processed in 0.195138 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部