免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

[CG] Adobe Flash - 制作Pacman 小游戏


Adobe Flash - 制作Pacman 小游戏





游戏操作: 键盘 「左」「右」「上」「下」

制作必备:
Adobe Flash 、 自己设计的角色图片

或者

下载Flash游戏文件自己研究或试玩:
pacman.zip (21.59 KB)



1. 打开ActionStript 2.0 
    设置 宽度:800Px 高度:600px



2. 设计游戏首页面
    需要设置一个 进入游戏的按钮 「Start」
         Insert > New Symbol (Ctrl + F8)
    新建一个 Symbol ,随便命名一个名字。
    Type 选择为Button
 


3. 然后会进入另一个空白的画面,这时候Layer 出现了Up Over Down Hit 的字眼
    Up 表示当光标键按下按钮后(默认)显示的画面
    Over 表示当光标碰到按钮后显示的画面
    Down 表示当光标按下按钮后显示的画面
    Hit 表示可被光标点击的范围

   如果没有Over Down Hit 就会一直显示默认按钮

   自己在Up Over Down Hit 帧设计您的按钮吧


4. 返回Scene 1 
    
    把刚才的Button 放到画面中间


5. 在Start Button 添加动作执行
    单击选择Start Button 到 Window > Action (F9) 或者
    单击选择Start Button 右键 选择 Action (F9) 或者
    单击选择Start Button 直接按F9
 


6. 跑出了一个窗口,在里面输入以下的代码

on(press){
gotoAndPlay(2);
}

讲解一下:
 on(press)           当滑鼠按下去的时候
 {                       这是执行的动作的符号 必须的,不可以遗漏掉! 就称为开门吧……
 gotoAndPlay(2);  执行去第几个帧数,设置为2 表示我要从第1帧跳去第2帧(第一页跳去第二页)
 }                       然后关门

其实分段空行是方便作者方便阅读及编辑代码。

代码也可以写成:(代码变成密密麻麻的,如果你看得习惯这样写也没关系)
on(press){gotoAndPlay(2);}

 

7. 关掉Actions 窗口,然后在时间轴 的第一个帧数 
    点击黑色一粒点的地方 按右键选择 Actions
    点击黑色一粒点的地方 按F9

8. 一样的在里面输入以下的代码:
stop();

这代码表示播放画面是页面不会自动去第二页

9. 在时间轴 的黑点上出现了一个 a 的字眼,表示这个帧数已经输入动作
    

10. 然后就是设计角色的Symbol
      和制造Button 方法差不多一样
      把Type 选择 Movie Clip

11. 这是我设计的敌人…… 
   如何设计?你可以使用直接在Adobe Flash 画出来 或 使用Adobe Illustrator 或 Adobe Photoshop
   个人建议使用Adobe Illustrator 设计好后直接copy paste 到Adobe Flash 里
   Adobe Photoshop 比较麻烦,不能直接Copy Paste 使用在 Adobe Flash 为什么呢…… 

12. 同样的也要为主人翁创建一个Symbol
   创建帧数1 2 3 4 分为 → ← ↑ ↓ 的角度
   并且在各Frames上 写上  Actions
    stop();  

13. 然后再创建 New Symbol 设计一个豆豆…… 我设计为硬币……
      Type: Movie Clip
       

在Frame 1 写下 stop();

然后添加多一个空白的Frame 2
并且写下代码:

_root.score += 10;  表示当硬币被吃 就添加多少分数,我设置为10分



14. 再创建 New Symbol 墙壁,避免玩家离开游戏范围区域
     Type: Movie Clip


15. 返回Scene1,时间轴上添加第二帧数(第二页)
     把设计好了的Symbol在Library里拉出来到画面上
     摆放好一切东西。
     更换背景颜色,到Properties 里更换掉背景的颜色
     怪物直接Copy Paste 多几个就可以了
     至于怎么快速把怪物换颜色请到此处查看教程:暂无

16. 点击Pacman 主人翁,在Properties里的<Instance Name>里输入 char
 为什么要写char? 因为代码里指定对char 执行触发
 若你在代码里把 char 替换其他名字例如 Enemy,则<Instance Name>也换 Enemy 名字
 

17. 接下来就是要输入代码了,在各Symbol 写上Actions
Pacman 代码:

  Speed = 9;  表示 Pacman 行动的速度

 怪兽 代码:

  speed = 3;  表示怪兽行动的速度
  _root.gotoAndPlay(4);  表示当你被怪兽碰到就去输的页面(倘若设为页面4为输掉的画面),倘若你要设置很多关卡,这里的号码就的随你喜欢更改!

 墙壁 代码:
   ↑ 顶部墙壁代码:
   ↓ 底部墙壁代码:
   ← 左边墙壁代码:
   → 右边墙壁代码:

18. 现在为你的豆豆(硬币)写下代码。是每一个豆豆写不同的代码,非常麻烦。
 在每一个硬币的 <Instance Name> 命名为你想要的名字,例如 coinsX, coins2 以此类推……
     硬币必须不同的<instance Name>否则当吃下硬币的时候,拥有同样名字的硬币也会同时消失……

然后在每一个硬币写下代码(每一个硬币的代码都要亲自修改)

硬币 的代码:



19. 现在设置 当你的硬币吃完后 就显示WIN的画面
先设置 Win 和 Lose 的画面,例如Win的画面为帧数3,Lose的画面为帧数4

然后创建一个New Symbol 随便命名…… 我命名为 「隐形」
里面什么都不要画,就一张空白的画面,在时间轴的 Frame 1 写上Actions
stop();

然后把「隐形」拉到 Scene 1 的画面上任何一个角落 (可方便自己编辑的地方)
然后在「隐形」右键 > Actions 写下代码:

if(_root.score == 40) 
刚才默认设置为当吃了一个硬币 可获取10分,倘若游戏里有4个硬币就表示总共40分,就是说需要获取多少分数才可以赢
倘若硬币分数设置为1分,就表示共有4分。


基本上的教程已经完毕了,游戏是得看你自己怎么去发挥设计……  
此处指稍微提供代码,若有不懂请回复

20.jpg
2013-11-24 00:02

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
看帖请回帖~ 尊重下楼主们吧~

flash游戏!!>< 学起来~
每天都是快乐天~xD

TOP

返回列表