经典坦克大战4399(经典坦克flash版)
1、学习Flash,而不是ActionScript,是有局限的。但是很多朋友都在抱怨AS太难学了。告诉你,AS一点也不难学。好吧,我们一起学习。
2、首先,创建一个600*450像素的新文件,黑色背景为40fps。
3、首先,实现转塔的旋转
【资料图】
4、1.按Ctrl+F8创建一个名为“炮塔”的电影剪辑元件。然后在其编辑场景中绘制一个炮塔,如1所示。请注意,炮塔位于场景的中心。单词是旋转的。
5、因此,当你制作它的时候,你应该把炮塔圆顶的中心和“?”在组件场景中,单词重叠。
6、2.按Ctrl+F8创建一个名为“Tank”的影片剪辑元件。然后在编辑场景的“第一层”绘制坦克的车身。然后将“炮塔”组件从库中拖到“第二层”,如图2所示。
7、3.单击第2层中的炮塔组件,按F9打开动作面板,并输入以下代码:
8、复制代码
9、代码如下:
10、//当键盘上的某个键被按下时执行。
11、onClipEvent (keyDown) {
12、//如果按下“Z”键,转塔向左旋转6度。
13、if (Key.getCode()==90) {
14、_rotation -=6;
15、}
16、//如果按下“X”键,转塔向右旋转6度。
17、if (Key.getCode()==88) {
18、_rotation +=6;
19、}
20、}
21、测试一下,你会发现现在炮塔可以转动了。因为我们通过_rotation属性来改变“炮塔”的角度。Key.getCode()返回最后一次按键的按键代码值。然而,
22、如果读者想用其他键控制炮塔选择,也是可以的。对于具体使用的钥匙,我们可以查看钥匙——的代码,钥匙a-z对应的值是65-90。不管用什么键,都要注意——方便用户操作的原则。
23、第二,实现坦克的运动
24、返回场景1,打开库,将库中的“tank”组件拖动到场景中,然后单击“tank”组件,按F9打开“动作”面板,并输入以下代码:
25、复制代码
26、代码如下:
27、onClipEvent (enterFrame) {
28、move函数通过改变坦克的坐标值来移动坦克。
29、function move() {
30、_y -=(Math.cos(Math.PI/180*this._rotation))*speed;
31、_x +=(Math.sin(Math.PI/180*this._rotation))*speed;
32、}
33、//如果你按了键盘上的“写”键或“左”键,调用move函数。
34、if (Key.isDown(Key.UP)) {
35、move();
36、}
37、if (Key.isDown(Key.DOWN)) {
38、move();
39、}
40、//如果敲击键盘上的“”键或“”键,让坦克旋转。
41、if (Key.isDown(Key.LEFT)) {
42、_rotation -=3;
43、}
44、if (Key.isDown(Key.RIGHT)) {
45、_rotation +=3;
46、}
47、//改变坦克的速度偏移量,使坦克运动时有一个加速度
48、if (Key.isDown(Key.UP) !(Key.isDown(Key.DOWN)) speed-3 speed3) {
49、speed +=0.1;
50、}
51、if (Key.isDown(Key.DOWN) !(Key.isDown(Key.UP)) speed-3 speed3) {
52、speed -=0.1;
53、}
54、if ((speed0.1) (!Key.isDown(Key.UP)) (!Key.isDown(Key.DOWN))) {
55、move();
56、speed -=0.05;
57、}
58、if ((speed-0.1) (!Key.isDown(Key.UP)) (!Key.isDown(Key.DOWN))) {
59、move();
60、speed +=0.05;
61、}
62、//如果同时按住两个方向相反的键,坦克不会一直移动
63、if ((Key.isDown(Key.UP)) (Key.isDown(Key.DOWN))) {
64、speed /=1.1;
65、if ((speed-0.1) (speed0.1)) {
66、speed=0;
67、}
68、}
69、//使坦克始终在场景中移动
70、if (_x=0) {
71、_x=600;
72、} else if (_x=600) {
73、_x=0;
74、}
75、if (_y=0) {
76、_y=450;
77、} else if (_y=450) {
78、_y=0;
79、}
80、}
81、上面的一大段代码,读者一下子恐怕也消化不了。现在笔者就来细细地讲讲这些代码。
82、1.大家可以发现,程序中很多地方用到了move函数,如果我们直接使用move函数里的代码,将会使整个程序变得冗长。而且,这样也不方便对程序地维护。
83、2.物体在运动的时候,总有一个不断变化的加速度。当坦克在运动在改变运动方向的时候,所改变的角度是不断变化的。通过代码:
84、_y -=(Math.cos(Math.PI/180*this._rotation))*speed;
85、_x +=(Math.sin(Math.PI/180*this._rotation))*speed;
86、实现这一变化。其中y轴坐标用“-=”是和Flash坐标系设定有关的。因为,在主场景中,向上移动元件,就要减小y值。
87、3.Key.isDown()方法在按下“()”中指定的键时返回true值。我们通常用该方法检测是否按下“Shift键”、“Tab键”。
88、现在测试一下,你一定会觉得很有意思的。
89、以上Flash制作可随意开动并能旋转的坦克教程,希望大家喜欢!
本文到此结束,希望对大家有所帮助。
标签:
[责任编辑:]
猜你喜欢
- (2023-08-17)“时代之旅”美国巡演收官,创收50亿美元的“斯威夫特经济学”有哪些学问?
- (2023-08-17)申请解约申请书 申请解约申请书怎么写【最新9篇】
- (2023-08-17)Coficoli可菲可丽六极射频美容仪,让我重拾青春,成为逆龄女神!
- (2023-08-17)2023年吉安市高龄补贴标准咋样?今年高龄老人津贴多少岁领?补贴多少钱?
- (2023-08-17)爱护青山绿水 绿色生产生活方式成为行动自觉
- (2023-08-17)深圳瑞捷股价上穿BBI均线,多头能否坚守?
- (2023-08-17)34岁前国米球员桑切斯若加盟巴西球队,或可解锁20岁前锋加盟罗马