- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
第32章 游 戏
也许D i r e c t o r 的主要用途是制作游戏。游戏的用途很广,可以娱乐,可以教学。我们甚至
可以用它来阐明论点,或只是用来使信息更有趣。
D i r e c t o r作品的创作者们可能会非常喜欢某一类游戏,因为它们制作简单,而且能用于多
种场合。配对游戏就是一个很好的例子。
有一些游戏用D i r e c t o r制作起来是非常困难的,但由于它们是非常流行的那类游戏,因此
D i r e c t o r创作者们也学会了制作它们。纸牌游戏,如 blackjack ( 二十一点) ,就是这类游戏之一。
本章将介绍如何制作各种类型的游戏。
32.1 制作配对游戏
这个配对游戏的基本目标是把屏幕上成对的项目正确地连接起来。每个项目都是隐藏起
来的,也就是像扑克牌一样,面朝下扣着。如果成功了,这一对项目就被从屏幕上拿走。如
果两个项目不匹配,它们又会被翻过去。这个游戏是用来锻炼记忆力的,在把每个项目翻开
时应记住它们的位置。
要制作这样一个游戏,首先需要一系列位图,以表示这些项目。图 3 2 - 1是带有一系列位
图的演员表库,其中含有 1 8个元素。由于每个元素将要用在一对角色里,因此舞台上将有 3 6
个角色,排成6 ×6 的方格结构。
图32-1 演员表窗口显示了一个演员表库,其中有18个将要用于配对游戏的元素
有了这些位图之后,还需要一个位图,来表现角色面朝下的情形。这里使用一个尺寸相
同,颜色为纯黑的位图,把它命名为B l a n k 。
用一个影片剧本来控制整个游戏。需要两个全局变量。第一个全局变量包含一个列表,
其中有用于角色的全部元素;另一个全局变量里含有面朝上的角色的编号。影片刚开始时,
随机地编排元素在角色里的位置。
global gItemList, gSelected
on startMovie
-- randomize items
gItemList = createList()
gSelected = 0
end
414计计第八部分 用Director创建专业性的应用程序
下载
当然,元素要被放在舞台上的随机的角色里,否则每次游戏的内容就都相同了。首先,
每个元素被先后两次添加到列表里,得到由双份元素组成的列表。然后,把该列表的顺序打
乱,得到一个新列表。
on createList
-- create ordered list
templist = []
repeat with i = 1 to 18
add templist, i
add templist, i
end repeat
-- shuffle list
list = []
repeat while templist.count 0
r = random(templist.count)
add list, templist[r]
deleteAt templist, r
end repeat
return list
end
舞台上的所有角色都应显示 B l a n k演员,因此无需对角色进行任何设置。影片的剪辑室把
它们都设为B l a n k演员,它们将一直保持这个状态,直至用户点击它们为止。
当用户点击某个图像时, on clickItem 处理程序被调用。用户所点击的角色的编号被传给
这个处理程序。影片把 3 6个元素放在角色 11至角色4 6里。要在g I t e m L i s t全局变量里得到每个
元素的位置,需要从这个数字里减去 1 0,得到1至3 6之间的一个数字。
当某个角色被点击时, B l a n k演员就换成了与列表中的项目对应的那个演员。然后该处理
程序检查这是否为第一个被选中的项目。如果是,它就把 g S e l e c t e d全局变量设为该角色的编
号;如果不
文档评论(0)