Board logo

标题: HTML5 2D 游戏开发 实现 Sprite 行为(1) [打印本页]

作者: look_w    时间: 2018-10-19 18:39     标题: HTML5 2D 游戏开发 实现 Sprite 行为(1)

优秀的故事离不开优秀的人物角色。就像图书和电影一样,视频游戏也需要具有有趣行为的人物角色。例如,Braid(一直是最畅销的平台游戏)中的主角可操纵时间。精巧的行为使该游戏脱颖而出。
行为是任何视频游戏的灵魂,将行为添加到  中为 Snail Bait 实现的惰性 sprite 中,就会立刻使该游戏变得更加有趣,如图 1 所示:
图 1. 完成本文后 Snail Bait 的状态回想一下前一篇文章中的  一节,Snail Bait 的 sprite 没有实现自己的活动,比如跑、跳或发怒。相反,sprite 依靠其他对象(称为行为)来控制操作。
显示了蜗牛射出蜗牛炸弹的行为。其他无法在  的静态图像中看到的行为包括:
表 1 总结了这些行为:
表 1. 本文中讨论的行为Sprite行为说明纽扣和蜗牛paceBehavior在一个平台中来回移动跑步小人runBehavior循环跑步小人的图像,看起来像是跑步小人正在跑动蜗牛snailShootBehavior从蜗牛的口中射出一个蜗牛炸弹蜗牛cycleBehavior循环显示一个 sprite 的图像蜗牛炸弹snailBombMoveBehavior在画布显示范围中水平地将蜗牛炸弹向左移动
操作时间在 Braid 中,主角 Tim 可以操纵时间,但每个视频游戏都擅长操纵时间。在本文中,您会看到潜在的时间流动行为。在本系列接下来的两篇文章中,我将介绍如何通过让时间弯曲来实现非线性运动,这是跑动和跳跃等真实运动的基本特征。

表 1 中列出的行为不足该游戏行为的一半,在本系列第一篇文章中的  表中,可以看到全部行为。它们也是 sprite 的行为基础;举例而言,跳跃要复杂得多,您将在以后的文章中看到。尽管如此,对于本文中的简单行为的实现,仍有许多要学习的地方,包括如何:
行为基础Replica Island 的行为行为的概念来自一个流行的开源 Android 游戏 Replica Island。Snail Bait 的许多图形也来自 Replica Island。请参阅 ,获得该游戏以及该游戏的创建者探讨行为的博客帖子的链接。

任何对象都可以是一个行为,只要它拥有一个 execute() 方法。该方法接受 3 个参数:sprite、时间和游戏动画的帧率。行为的 execute() 方法依据时间和动画帧率来修改 sprite 的状态。
行为很强大,因为:
在讨论  中列出的行为在实现之前,我将通过跑步小人的总体行为大致概括一下 — 如何实现它们并将它们与 sprite 相关联。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0