编程记录,亲测有效

希望为编程资料缺失的部分贡献自己的微薄之力……

【ActionScript】使用键盘移动元件

本文介绍ActionScript2.0使用键盘移动元件的做法。

一、基本准备

1、首先,打开Flash,新建一个ActionScript2.0的文件。新建之后直接保存,如《【ActionScript】利用复制影片duplicateMovieClip与鼠标拖动跟随startDrag做出鼠标移动特效》(点击打开链接)一样,通过插入->新建元件(或者Ctril+F8)的方法,新建一个类型为:影片剪辑的实例。之后在元件1中,如下图,利用矩形工具,如下图,拖出一个矩形之后,利用选择工具,对其全选,之后设置其位置与大小,这里是大小为100x100px也就是宽高都为100,且X、Y为宽高的相反数的1/2的,也就是都为-50,使其居中。


2、之后切回到场景1,点开库面板,或者按F11,拖入这个刚刚新建好影片剪辑,如下图,在属性面版中,设置其实例名称为square,然后位置和大小,分别为X:275,Y:200,使其位于场景1的中央,宽高同影片的宽高。之后,利用文本工具,在场景1,拖出一个文本,设置其为动态文本,位置与大小分别为X:0,Y:0,使其居左上,同时宽为400,高为50,字体大小为40,消除锯齿为使用设备字体,以免编译的时候出现警告。在里面输入“X:275,Y:200”这几个大字。之后,在变量名称,设置其变量名为text。一会儿给脚本控制。


3、之后,如下图,不同于之前的几篇文章,这次是对那个矩形的影片剪辑,右击,选择动作,对其设置脚本。


二、脚本编程

ActionScript的任务主要是设置这个影片剪辑,在键盘按下时所实行的动作。如下:

onClipEvent(keyDown){//当按下键盘的时候触发这个函数
	var intCode=Key.getCode();//获取键盘键位码
	var intX=getProperty("_root.square",_x);//获取正方形的X、Y坐标
	var intY=getProperty("_root.square",_y);
	_root.text="X:"+intX+",Y:"+intY;//将坐标赋予到动态文本
	if(intCode==37 and intX>50){//如果是←且正方形没到左边界,则把长方形向左移动3个像素,之后以此类推
		setProperty("_root.square",_x,intX-3);
	}
	if(intCode==38 and intY>100){	
		setProperty("_root.square",_y,intY-3);
	}
	if(intCode==39 and intX<500){	
		setProperty("_root.square",_x,intX+3);
	}
	if(intCode==40 and intY<350){	
		setProperty("_root.square",_y,intY+3);
	}	
}
利用getProperty可以获取影片剪辑的坐标,setProperty可以设置影片剪辑的坐标,_x与_y表示设置的属性。

上面脚本根据按下的键盘键位不同,而对影片剪辑做不同的动作。

由于这里存在场景与影片剪辑,必须用_root.开头,来指明这是场景内,而不是影片剪辑的东西。

虽然这个Flash影片的大小为550x400px,但在计算边界坐标要减去影片剪辑的一半大小。因为影片剪辑的坐标是按中心算的。

按Ctrl+Enter编译之后,得到如下的效果:


阅读更多
版权声明:本文为博主原创文章,未经博主允许,欢迎随意转载,标好作者+原文地址就可以了!感谢欣赏!觉得好请回个贴! https://blog.csdn.net/yongh701/article/details/46438777
个人分类: ActionScript
想对作者说点什么? 我来说一句

<em>ActionScript3</em>教程

2018年05月09日 0B 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭