谁能教我做简单的flash 小游戏
发布网友
发布时间:2022-05-13 16:31
我来回答
共1个回答
热心网友
时间:2023-10-16 07:14
完整些的flash游戏都要上百行代码的,以老师讲课的进度他会用种灰常怀疑的目光边看你的flash代码边对你提问的。贴一个以前改写的简易键盘控制角色移动代码,//里写好了代码的注释,谨防老师提问。
1打开flash选舞台在下面属性面板把舞台改为800×600,导入到舞台(快捷键Ctrl+R)一张喜欢的小图片作为控制的角色
2调出库面板(Ctrl+L)打开库,选中图片拖到库里,选择新建影片剪辑元件,随意起个名字
3元件拖到舞台,选择元件按F9打开动作面板粘贴下面整段代码,
//键盘控制影片剪辑移动的代码:
onClipEvent
(load)
{
speed
=
25;
}
//
初始化移动速度为25,负数代表反方向移动速度
onClipEvent
(enterFrame)
{
//进入帧后随时监测
if
(Key.isDown(Key.LEFT)
&&
!Key.isDown(Key.RIGHT))
{
_x
-=
speed;
_rotation
=
0;
}
//如果按键盘左键并且没同时按右键,剪辑向左平移,旋转角度为0
if
(Key.isDown(Key.RIGHT)
&&
!Key.isDown(Key.LEFT))
{
_x
+=
speed;
_rotation
=
0;
}
//如果按键盘右键并且没同时按左键,剪辑向右平移,旋转角度为0防止左右同时按时元件静止不动
if
(Key.isDown(Key.UP)
&&
!Key.isDown(Key.DOWN))
{
_y
-=
speed;
_rotation
=
0;
}
//如果键盘按上键并没同时按下键,剪辑向上平移,旋转角度为0
if
(Key.isDown(Key.DOWN)
&&
!Key.isDown(Key.UP))
{
_y
+=
speed;
_rotation
=
0;
}
//如果键盘按下键并没同时按上键,剪辑向下平移,旋转角度为0防止上下键同时按时元件静止不动
if
(Key.isDown(Key.LEFT)
&&
Key.isDown(Key.UP)
&&
!Key.isDown(Key.RIGHT)
&&
!Key.isDown(Key.DOWN))
{
_rotation
=
-55;
}
//如果键盘按左+上键并且没按右+下键时,剪辑向左旋转55度,防止左上与右下同时按产生冲突
if
(Key.isDown(Key.RIGHT)
&&
Key.isDown(Key.UP)
&&
!Key.isDown(Key.LEFT)
&&
!Key.isDown(Key.DOWN))
{
_rotation
=
55;
}
//如果键盘按右+上键并且没按左+下键时,剪辑向右旋转55度
if
(Key.isDown(Key.LEFT)
&&
Key.isDown(Key.DOWN)
&&
!Key.isDown(Key.RIGHT)
&&
!Key.isDown(Key.UP))
{
_rotation
=
-55;
}
//如果键盘按左+下键并且没按右+上键时,剪辑向左旋转55度,防止左下与右上冲突
if
(Key.isDown(Key.RIGHT)
&&
Key.isDown(Key.DOWN)
&&
!Key.isDown(Key.LEFT)
&&
!Key.isDown(Key.UP))
{
_rotation
=
55;
}
//如果键盘按右+下键并且没按左+上键时,剪辑向右旋转55度
if
(_y<0)
{
_y
=
600;
}
//控制剪辑上边界,如果移动高度小于0,还原到600位置由下向上循环
if
(_y>600)
{
_y
=
0;
}
//控制剪辑下边界,如果移动高度超过600,还原到0位置由上向下循环
if
(_x<0)
{
_x
=
800;
}
//控制剪辑左边界,如果移动宽度小于0,还原到800位置由右向左循环
if
(_x>800)
{
_x
=
0;
}
//控制剪辑右边界,如果移动宽度超过800,还原到0位置由左向右循环
}