Flash CS6在众多功能上都有了有效的改进。如果不作特殊说明,本书提到的Flash或Flash CS6均指Flash Professional CS6简体中文版。本节将介绍Flash CS6中一些较为重要的新功能与新特性。FlashCS6会将选定网络接口的IP地址打包到调试模式移动应用程序中。......
2025-09-30
首先制作地面,当飞船飞动的时候,地面可以相对运动,表明飞船正在飞。
在主时间轴创建一个新层,起名为ground,画一些表示地面的图形。最简单的莫过于一些山峰加上一些低谷,如图10-37所示,一定要保证地面的尺寸和舞台的尺寸一致,而且开始的部分和结束的部分要高度一致,因为要让它循环运动来表示无穷无尽的地面。
选中刚刚画好的地面,按F8键把它转化为影片剪辑。然后选中舞台上影片剪辑实例,在属性面板的实例名称文本框中输入ground。
图10-36 测试激光
图10-37 添加地面
为了显示飞船向右运动的效果,根据相对论,可以向左移动地面,好像坐车的时候感觉地面向后移动一样。移动地面的最好方法就是让ground影片剪辑的X坐标逐渐地减小。
为了使移动的效果看起来更加平滑,需要两个这样的地面影片剪辑。但是不简单地把两个地面的影片剪辑放到一起,而是把两个这样的地面影片剪辑放到另外的一个影片剪辑中,起名为mainGround。然后用影片剪辑mainGround来代替两个单独的ground影片剪辑。换句话说,mainGround影片剪辑包含了两个ground影片剪辑,通过移动mainGround来代替移动两个ground影片剪辑。要做的第一件事情就是把ground影片剪辑放到一个新的影片剪辑中。
选中舞台上的ground实例,按下F8键,创建一个新的影片剪辑,起名为mainGround,同时在属性面板上的实例名称文本框中输入mainGround。
现在的mainGround影片剪辑中只包含一个ground影片剪辑,前面不是说过要用两个ground吗?没错,的确是这样,将在后面用ActionScript来复制一个ground。
现在可以为mainGround添加一些代码了。
选中舞台上的mainGround实例,打开“动作”面板,添加下面的代码:
说明:这段代码放在load ClipEvent中,当mainGround第一次加载的时候运行。
第二行复制了一个ground影片剪辑,给它一个名字ground2,深度为100。
第三行把ground2的X坐标设置成ground的X坐标加上ground的宽度,效果就是正好把ground2放在了ground的右边。
第四行创建一个变量groundStartx,并给它赋初值为mainGround的X坐标。目的就是保存mainGround的初始位置,后面会用到它。
第五行groundspeed=10;建立一个新的变量groundSpeed,它的值等于10。这是地面每帧移动的像素数。
在上述代码后面,再添加另外一个消息处理函数。
说明:这段代码放在enterFrame消息处理函数中,所以每次影片剪辑进入一个新帧的时候,它们都会被调用。MainGround影片剪辑只有一帧,但是它将一直进入那一帧,这个动作是循环的。
第二行:this._x-=groundSpeed;把地面的X坐标减去groundSpeed,前面已经把groundSpeed设置成了10,所以这个语句的效果就是把mainGround向左移动10个像素。
第三行检查mainGround是否已经移动到使mainGround内部的第一个ground完全移出舞台。如果已移出舞台,第四行把mainGround的X坐标设置成它刚刚开始的坐标。
再来看看涉及到的一些变量。
this._x是mainGround的当前X坐标。
ground._width是ground MovieClip的宽度。
groundStartx是先前设置的变量。
当第一个ground完全移出舞台的时候,它的X坐标等于它的开始的X坐标减去它的宽度。在这个时候,第二个ground刚刚开始在舞台上出现。(https://www.chuimin.cn)
当把mainGround重新移到它开始的位置的时候,必须同时减去groundSpeed,因为mainGround仍然需要向左移动groundSpeed规定的距离。
现在读者可以测试一下这个滚动的地面了,在Flash开发环境中,可能看起来有一点奇怪,因为在测试模式Flash开发环境允许读者看到stage外部的区域,如果在浏览器里测试的话,就一切正常了。
在大多数这种飞船游戏中,地面不是一直都在滚动的。一般情况是这样,飞船开始的时候在屏幕的最左边,当它移动到离屏幕左边大约屏幕宽度的三分之一的时候,飞船停止移动,这个时候地面开始反方向移动。
现在就开始做这个改进。大多数的代码在spaceship的消息处理函数中。Spaceship的位置将决定什么时候开始滚动,什么时候停止滚动。
选中spaceship,右键单击打开“动作”面板,在onClipEvent(load)函数中,在laserCounter=1;这行后面,添加下面的代码:
第一行建立一个新变量scrollx。这个变量将是spaceship刚刚停止向右运动时候的X坐标,当然也是ground开始滚动的X坐标。刚开始的时候把它设置成ground宽度的三分之一。
第二行建立一个新的变量scrollStart。这个变量在ground应该滚动的时候设置成true,在ground静止的时候设置成false。
为了实现spaceship已经移动到了scrollx位置,spaceship停止移动,地面开始反方向滚动,需要修改处理向右方向键的代码。当前的处理代码应该是这样的:
用下面的这段代码代替它:
引入一个if语句,如果this._x(spaceship的当前X坐标)小于scrollx的话,spaceship的X坐标一直增大,一直右移,直到条件不成立的时候,把scrollStart设置成true,不再改变spaceship的X坐标。
地面不会一直滚动,在某些条件下,它是不应该滚动的。
在spaceship的脚本窗口中,为spaceship添加另外一个消息处理函数。
这段代码引入了一个新的影片剪辑事件keyUp。当用户释放键盘上的一个键的时候,这个事件发生。需要的效果是,当用户按下向右的方向键的时候,ground是滚动的;当读者释放向右的方向键的时候,ground停止滚动。通过KeyUp事件,就可以检测是否是释放了向右的方向键。
方法Key.getCode()得到最后释放的按键的键码,所以如果最后按下的键是向右的方向键,就把scrollStart设置成false。
接下来要做的就是添加一些代码,当scrollStart是false的时候,地面停止滚动。
选中mainGround实例,打开它的脚本窗口,当前的onClipEvent(enterFrame)如下:
修改它们,修改后的代码如下:
所做的就是添加了一个if语句,当scrollStart是true的时候移动mainGround。最后,把当前影片的帧频设置成24fps。
现在测试一下影片,读者会发现,当spaceship移动到屏幕三分之一的时候,spaceship停止运动,而地面反而滚动起来,效果就像飞船一直在飞一样。
相关文章
Flash CS6在众多功能上都有了有效的改进。如果不作特殊说明,本书提到的Flash或Flash CS6均指Flash Professional CS6简体中文版。本节将介绍Flash CS6中一些较为重要的新功能与新特性。FlashCS6会将选定网络接口的IP地址打包到调试模式移动应用程序中。......
2025-09-30
在输出影片时,对声音设置不同的取样率和压缩比对影片中声音播放的质量和大小影响很大,压缩比越大、取样率越低会导致影片中声音所占空间越小、回放质量越差,因此这两方面应兼顾。在输出短的事件声音时最好压缩成ADPCM格式。......
2025-09-30
最后将运动层和引导层连接起来,就可以使对象沿指定的路径运动。下面通过一个实例来介绍运动引导动画的制作方法。选择“文件”/“导入”/“导入到舞台”命令,导入一幅GIF动画,并调整位置。单击引导层的第1帧,使用铅笔工具在舞台上绘制一条曲线,该曲线将作为运动动画的轨迹。图5-20 移动butterfly实例的中心图5-21 蝴蝶在第15帧的状态......
2025-09-30
逐帧动画是一种最基本的动画制作方法,它往往需要很多关键帧,在制作时,需要对每一帧动画的内容进行具体的绘制。下面以一个实例来说明制作逐帧动画的方法。在时间轴上选择第29帧,利用橡皮擦工具进一步反向擦除一部分笔画,如图5-8所示。剩下的3帧不进行擦除。通过该实例,相信读者已经了解使用FlashCS6制作逐帧动画的方法。其实利用逐帧动画的制作方法还可以制作出很多特殊效果的动画。......
2025-09-30
我们通过模拟星空这个实例,向大家讲述前面讲到的几种比较重要的函数,给大家加深印象,让读者尽快掌握它们。按Ctrl+F8创建一个名为star的影片剪辑。单击渐变栏右边的颜色游标,然后在R,G,B和Alpha文本框中输入0,0,0,100%,填充效果如图8-2所示。图8-1 模拟星空图8-2 填充效果分别单击第2帧和第3帧,然后分别按下F6,插入两个关键帧。选中舞台上的star实例,在属性面板的实例名称文本框中输入“star”。......
2025-09-30
用户可以通过设置“动作”面板的工作参数,来改变脚本窗格中的脚本编辑风格。若要设置动作面板的参数,可以执行如下操作:在“动作”面板的选项菜单中选择“首选参数”命令。在弹出的“首选参数”对话框里设置以下任意首选参数:●编辑:选择“自动缩进”会在脚本窗格中自动缩进动作脚本,在“制表符大小”框中输入一个整数可设置专家模式的缩进制表符大小。......
2025-09-30
传统文本的段落属性包括对齐方式和边界间距两项内容。图2-61 设置段落样式“段落”部分包括以下文本属性:●对齐:此属性可用于水平文本或垂直文本。在当前所选文字的段落方向为从右到左时,对齐方式图标的外观会反过来,以表示正确的方向。TLF会在这两个段落之间生成24像素的间距,而不是36像素。利用“高级段落”部分可以设置TLF文本的以下属性:●标点挤压:此属性有时称为对齐规则,用于确定如何应用段落对齐。......
2025-09-30
相关推荐