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]