Flash游戏开发实例①打砖块-1-mcPaddle的动作建立
2016-05-12 18:02
330 查看
现在我们就来做一个Flash打砖块的游戏实例,
打砖块的游戏实例可以说在所有编程语言的教程里都有出现。
现在我们就看看在Flash平台中如何创建打砖块游戏。
1.打开Flash CS6(博主用的)
2.新建action script 3.0如图:
好吧,这是我的第一个教程,我将把它们分成几部分。
首先,我们要让舞台变成黑色背景,我们要设置帧速率为24。
然后,我们去画那个平台,我们要把它转换成一个影片剪辑。
至于平台的形状,大家想画成什么就画成什么吧!
我把它转化成了影片剪辑元件,名字叫:mcPaddle
然后你的库中就应该有mcPaddle的元件了
接下来我们新建一个图层,命名为:actions
并按F9快捷键载入脚本窗口
粘贴下列代码并关闭
希望代码里的解释你们能够看懂,运行后,我们则看到鼠标并没有在mcPaddle的中心,只是左对齐了,将以下代码更改就行了:
更改为:
所以这段代码的意思是:鼠标X坐标值减去mcPaddle宽度并除以2两者的值赋值给mcPaddle的X坐标
(假设鼠标X坐标为100,mcPaddle宽度为50,那个mcPaddle的X坐标为100-25=75)
但是问题又来了,如果你将鼠标移出游戏窗口,发现mcPaddle也跟着出去了。
这是在游戏中不允许的,除非有特殊用处,那么该怎么办?
很简单,在刚才修改的代码后面,就是
加入
这样就保证了mcPaddle始终在游戏窗口内。
所以总结以上代码,应该是像下面一样:
打砖块的游戏实例可以说在所有编程语言的教程里都有出现。
现在我们就看看在Flash平台中如何创建打砖块游戏。
1.打开Flash CS6(博主用的)
2.新建action script 3.0如图:
1部分:编写平台动作
这里所说的平台就是支撑打砖块的球的那个垫子。好吧,这是我的第一个教程,我将把它们分成几部分。
首先,我们要让舞台变成黑色背景,我们要设置帧速率为24。
然后,我们去画那个平台,我们要把它转换成一个影片剪辑。
至于平台的形状,大家想画成什么就画成什么吧!
我把它转化成了影片剪辑元件,名字叫:mcPaddle
然后你的库中就应该有mcPaddle的元件了
接下来我们新建一个图层,命名为:actions
并按F9快捷键载入脚本窗口
粘贴下列代码并关闭
//首先定义一个函数 //接下来是游戏所需代码 //这包括变量,什么的。。 //code by releed function beginCode():void{ //增加paddle //游戏每一帧就运行一次函数 mcPaddle.addEventListener(Event.ENTER_FRAME,movePaddle); } function movePaddle(event:Event):void { //paddle随着鼠标动 mcPaddle.x = mouseX ; } beginCode();
希望代码里的解释你们能够看懂,运行后,我们则看到鼠标并没有在mcPaddle的中心,只是左对齐了,将以下代码更改就行了:
mcPaddle.x = mouseX ;
更改为:
mcPaddle.x= mouseX - mcPaddle.width/2;
所以这段代码的意思是:鼠标X坐标值减去mcPaddle宽度并除以2两者的值赋值给mcPaddle的X坐标
(假设鼠标X坐标为100,mcPaddle宽度为50,那个mcPaddle的X坐标为100-25=75)
但是问题又来了,如果你将鼠标移出游戏窗口,发现mcPaddle也跟着出去了。
这是在游戏中不允许的,除非有特殊用处,那么该怎么办?
很简单,在刚才修改的代码后面,就是
mcPaddle.x= mouseX - mcPaddle.width/2;
加入
//如果鼠标脱离范围 if(mouseX < mcPaddle.width / 2) { //保证paddle不脱离舞台的范围 mcPaddle.x = 0; } //If the mouse goes off too far to the right if(mouseX > stage.stageWidth - mcPaddle.width / 2) { //保证paddle不脱离舞台的范围 mcPaddle.x = stage.stageWidth - mcPaddle.width; }
这样就保证了mcPaddle始终在游戏窗口内。
所以总结以上代码,应该是像下面一样:
//首先定义一个函数
//接下来是游戏所需代码
//这包括变量,什么的。。
//code by releed
function beginCode():void
{
//增加paddle
//游戏每一帧就运行一次函数
mcPaddle.addEventListener(Event.ENTER_FRAME, movePaddle
a1d6
);
}
function movePaddle(event:Event):void
{
//paddle随着鼠标动
mcPaddle.x = mouseX - mcPaddle.width / 2;
//保证paddle不脱离舞台的范围
//如果鼠标脱离范围 if(mouseX < mcPaddle.width / 2) { //保证paddle不脱离舞台的范围 mcPaddle.x = 0; } //If the mouse goes off too far to the right if(mouseX > stage.stageWidth - mcPaddle.width / 2) { //保证paddle不脱离舞台的范围 mcPaddle.x = stage.stageWidth - mcPaddle.width; }
}
beginCode();
相关文章推荐
- 第6课:Spark Streaming源码解读之Job动态生成和深度思考
- 图片文字提取之路-02数据预测
- jquery修改display属性
- 简单易学的机器学习算法——Mean Shift聚类算法
- Java垃圾回收机制
- linux下配置ip地址四种方法(图文方法)
- flume+kafka+hbase+ELK
- 第28篇 js中let和var
- 修改git全部已提交的用户名和邮箱
- 第27篇 重复造轮子---模拟IIS服务器
- 随机生成1000个数并排序
- Unity高像素截图
- Spark读取HBase内容_Java
- Unity高像素截图
- 北京国际半程马拉松
- web.xml配置的servlet加载两次的原因及解决方法
- UVa 10160 - Servicing Stations
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
- BZOJ3828: [Poi2014]Criminals
- svn:authz配置详解