雨中一根毛 发表于 2009-2-26 10:27:01

Flash 游戏制作:抢手棋(2)

骰子制作:     此步我们来制作游戏中决定主角每次所走步数的骰子。
www.ad119.cn/bbs/attachments/websoft/20090226/200922610271656277801.jpg
  1.新建一个graphic组件并命名为主体,然后在编辑区中用矩形工具画一个填充色为白色,边框为黑色的正方形,作为掷骰子前骰子的状态,如图8所示:   
www.ad119.cn/bbs/attachments/websoft/20090226/200922610271657877802.jpg
  2.在建立一个graphic组件,并命名为点,也就是作为骰子上的点,用椭圆工具画一个黑色的正圆,如图9所示:  3.新建一个movie clip组件,命名为“合成的点”,在这个mc里来制作从一点到六点的不同状态。将图层layer1的第1到第6帧全部设置为关键帧,然后分别将组件”点”拖到编辑区中,第一帧放一个,第二帧放两个,依此类推,第六帧放六个,然后用align工具排列好,如图所示:
www.ad119.cn/bbs/attachments/websoft/20090226/200922610271662577803.jpg

www.ad119.cn/bbs/attachments/websoft/20090226/200922610271664077804.jpg

www.ad119.cn/bbs/attachments/websoft/20090226/200922610271664077805.jpg

www.ad119.cn/bbs/attachments/websoft/20090226/200922610271665677806.jpg

www.ad119.cn/bbs/attachments/websoft/20090226/200922610271675077807.jpg

www.ad119.cn/bbs/attachments/websoft/20090226/200922610271679677808.jpg
  4.再新建一个图层layer2,在第1帧加as: /:dianzhi = 1;, 在第2帧加as: /:dianzhi = 2;, 在第3帧加as: /:dianzhi = 3;, 在第4帧加as: /:dianzhi = 4;, 在第5帧加as: /:dianzhi = 5;, 在第6帧加as: /:dianzhi = 6;, 在第7帧加如下as:     if (Number(/:red) == 1) {
    tellTarget ("/re") {
      gotoAndStop(1);
    }
    /:red = 0;
  } else {
    tellTarget ("/re") {
      gotoAndPlay(2);
    }
   /:red = 1;
  }
 //通过变量red的不同值,触发不同的动作,并对red进行不同的设置  5.因为我们的骰子需要通过鼠标点击来触发,所以需要用到按钮,确切的说是用一个隐形按钮配合前面的主体对象,就可以实现。所以我们新建一个button组件,并命名为触发器,只在hit帧插入关键帧,然后画一个矩形,大小和前面的主体组件差不多就可以,如图16所示:
www.ad119.cn/bbs/attachments/websoft/20090226/200922610271679677809.jpg
图16  6.下面我们就用前面准备好的组件来制作骰子控制器。新建一个movie clip组件,命名为” 合成的控制器”,进入组件编辑状态后,建立三个图层,分别命名为layer1,layer2和layer3.  7.将组件”主体”拖放到layer1的第1帧中,然后将组件”触发器”拖放到图层layer3的第1帧中,并调整位置和主体重叠,然后加入as:stop();,如图17所示:
www.ad119.cn/bbs/attachments/websoft/20090226/2009226102716843778010.jpg
图17  8、在图层layer1的第15帧插入一个关键帧,做一个主体对象从右到左的旋转移动motion,帧范围是1—15帧之间,然后将按f5将帧延续到30帧,在图层layer2的第15帧也插入一个关键帧,将组件”合成的点”拖动到主体的上面,然后在properties面板上命名为”dian”,并也同样延续到30帧,如图18所示:
www.ad119.cn/bbs/attachments/websoft/20090226/2009226102716937778011.jpg
图18  8.回到图层layer3,在第15帧加入as:  tellTarget ("dian") {
    gotoAndStop(random(7));
  }
 //控制骰子的随机跳转,以决定显示几点  在第30帧加入as:  if (Number(/:red) == 1) {
    tellTarget ("/kong") {
      gotoAndStop(4);
    }
  } else {
    tellTarget ("/kong") {
      gotoAndStop(2);
    }
  }
 /
页: [1]
查看完整版本: Flash 游戏制作:抢手棋(2)