本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 原址 http://www2.flash8.net/teach/3728.htm ← Flash 保存计划
 
传统移动教程
作者:Kof-X  来源:闪吧
时间: 2005年8月2  类型: 原创  
收藏 发送 评论 <%=votevote%>打印 字体选择:   

点击浏览该文件
点击浏览该文件
http://www.flash8.net/bbs/UploadFile/2005-7/200573191420452.swf
首先:将背景改成大小300X301
按此在新窗口浏览图片
划一个坦克的形状:
按此在新窗口浏览图片
将它选中按F8变成影片剪辑。
再新建一个影片剪辑第一帧是空白帧;代码:


stop();

第二帧是这样的:
按此在新窗口浏览图片
新建一个影片剪辑,将两个东东从库里拖出来:
按此在新窗口浏览图片
那个小点点是开炮用的,将它命名huo。
到了最关键的地方了,也是代码最长的地方。将刚做的MC拖入场景,输入代码:
onClipEvent (load) {
Speed = 5;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) and !Key.isDown(Key.RIGHT)) {
_x -= Speed;
_rotation = 270;
}
if (Key.isDown(Key.RIGHT) and !Key.isDown(Key.LEFT)) {
_x += Speed;
_rotation = 90;
}
if (Key.isDown(Key.UP) and !Key.isDown(Key.DOWN)) {
_y -= Speed;
_rotation = 0;
}
if (Key.isDown(Key.DOWN) and !Key.isDown(Key.UP)) {
_y += Speed;
_rotation = 180;
}
if (Key.isDown(Key.LEFT) and Key.isDown(Key.UP) and !Key.isDown(Key.RIGHT) and !Key.isDown(Key.DOWN)) {
_rotation = 315;
}
if (Key.isDown(Key.RIGHT) and Key.isDown(Key.UP) and !Key.isDown(Key.LEFT) and !Key.isDown(Key.DOWN)) {
_rotation = 45;
}
if (Key.isDown(Key.LEFT) and Key.isDown(Key.DOWN) and !Key.isDown(Key.RIGHT) and !Key.isDown(Key.UP)) {
_rotation = 225;
}
if (Key.isDown(Key.RIGHT) and Key.isDown(Key.DOWN) and !Key.isDown(Key.LEFT) and !Key.isDown(Key.UP)) {
_rotation = 135;
}
if (_x<-5) {
_x = 301;
}
if (_x>306) {
_x = 0;
}
if (_y>305) {
_y = 0;
}
if (_y<-5) {
_y = 300;
}
if (Key.isDown(Key.SPACE)) {
with (huo) {
gotoAndPlay(2);
}
}
}

别怕怕,这么长的代码很简单。下面是注释过的代码:

onClipEvent (load) {
Speed = 5;
//始初话Speed(本来想用Sp,一想是骂人,哈哈)
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) and !Key.isDown(Key.RIGHT))//避免错误 {
_x -= Speed;
_rotation = 270;
}
if (Key.isDown(Key.RIGHT) and !Key.isDown(Key.LEFT)) //避免错误{
_x += Speed;
_rotation = 90;
}
if (Key.isDown(Key.UP) and !Key.isDown(Key.DOWN)) //避免错误{
_y -= Speed;
_rotation = 0;
}
if (Key.isDown(Key.DOWN) and !Key.isDown(Key.UP)) //避免错误{
_y += Speed;
_rotation = 180;
}
//下为设置_rotation的代码,只需复制更改一下即可
if (Key.isDown(Key.LEFT) and Key.isDown(Key.UP) and !Key.isDown(Key.RIGHT) and !Key.isDown(Key.DOWN)) {
_rotation = 315;
}
if (Key.isDown(Key.RIGHT) and Key.isDown(Key.UP) and !Key.isDown(Key.LEFT) and !Key.isDown(Key.DOWN)) {
_rotation = 45;
}
if (Key.isDown(Key.LEFT) and Key.isDown(Key.DOWN) and !Key.isDown(Key.RIGHT) and !Key.isDown(Key.UP)) {
_rotation = 225;
}
if (Key.isDown(Key.RIGHT) and Key.isDown(Key.DOWN) and !Key.isDown(Key.LEFT) and !Key.isDown(Key.UP)) {
_rotation = 135;
}
//一下为转圈代码,为什么要加5呢,因为这5可以使其更自然一点
if (_x<-5) {
_x = 301;
}
if (_x>306) {
_x = 0;
}
if (_y>305) {
_y = 0;
}
if (_y<-5) {
_y = 300;
}
//一下为开火,所以我刚才教你们做火
if (Key.isDown(Key.SPACE)) {
with (huo) {
gotoAndPlay(2);
}
}
}

嗯,主要搞完了,美化一下:
按此在新窗口浏览图片
责任编辑:uufeng
上一篇: 利用FP8新功能getPixel做雪花(二)
 
移动时的模糊效果
使用 Flash Lite 将 Flash 动画移
场景随鼠标移动
一小个模拟拳皇背景移动
用滑块控制文字移动
RPG里的地图随人物移动
一个鼠标移动特效
FW教程移动虚线框
移动模糊效果
惯性移动的制作方法(1)
物体的循环移动
浅谈应用按钮事件句柄方法来实现小