下面以一个简单实例制作演示元件的创建方法:选择“插入”/“新建元件”命令,或按快捷键Ctrl+F8。在时间轴面板中选中“弹起”帧,在元件编辑场景中绘制一个矩形,边角半径为20,无笔触填充,内部填充色为渐变。图3-1 按钮弹起状态图3-2 鼠标经过和按下状态图3-3 点击状态如果需要修改元件注册点位置,单击对话框中注册图标上的小方块。选择“窗口”/“库”命令,此时,在打开的库面板里就可以看到新创建的元件已添加至库中。......
2023-10-30
既然是射击游戏,没有对手还叫什么游戏,接下来就要创建“对手”。
在主时间轴添加一层,起名为enemy。按Ctrl+F8键创建一个影片剪辑,起名为enemy。在元件编辑模式下,在enemy的舞台上画一个对手飞船,如图10-39所示。
图10-39 enemy
回到主时间轴。选中enemy层,在库面板中拖一个enemy的实例到这一层。选中舞台上的enemy实例,在属性面板的实例名称文本框中输入enemy1。
游戏按照传统的射击游戏的结构来设计。对手的飞船从屏幕右边移到左边。游戏玩家要么避开对手,要么把对手射中。如果游戏玩家射中对手飞船,对手飞船会爆炸,如果游戏玩家让对手飞船碰到了自己的飞船,那么游戏结束。将使用duplicateMovieClip来创建多个对手飞船。
对手从屏幕右边出现,向左边飞来,但是,如果所有的对手都从同一个位置飞过来,那么这个游戏就太简单了,而且玩一会儿以后就会玩厌了。需要引入一个随机量,让所有的对手飞船从同样的X坐标(也就是屏幕右侧)开始,但是每一个都应该有一个随机的Y坐标。
同样也让对手飞船移动的速度随机化,这样增加一点游戏的难度。写一段代码来设置对手飞船的随机初始位置和速度。用一个自定义函数来实现这个功能。
选中舞台上的enemy影片剪辑,打开“动作”面板,输入下面的代码:
上面这段代码做两件事情。首先它定义了一个函数reset,然后运行这个函数。它们是写在load事件中的,所以当影片剪辑第一次加载的时候将运行这段代码。
function reset(){这一行定义了reset函数。接下来的三行是reset函数的内容。
this._x=600;把对手飞船的X坐标设置为600。
this._y=random(2000)+100;把对手的Y坐标设置成一个在100~2099之间的随机数。
random是Flash预定义的一个产生随机数的函数,它产生一个在0和给定参数范围之间的随机数,但是不包括给定的参数。例如random(3)将产生一个0~2随机数,(0,1或者2)。在这个随机数的基础上加了100,确保初始的y值不是舞台的最顶端。
enemySpeed=random(4)+1;设置一个为enemySpeed在1~4范围内的随机数,这是对手飞船每一帧移动的像素数。(www.chuimin.cn)
最后,reset();调用reset函数。
读者可能会感觉疑惑不解,为什么要这么麻烦,先定义reset函数,之后再调用它?完全可以只写reset()函数内的三行,不去定义任何自定义函数。这是因为reset()函数内部的代码要多次用到,这种情况下最好的方法就是定义一个自定义函数。
已经创建了enemy影片剪辑,而且也已经设置了它的初始位置,现在让它动起来。
选中enemy影片剪辑,打开“动作”面板,添加下面的代码:
说明:这段代码做两件事情。通过减小对手飞船的X坐标把对手飞船从舞台右边移到舞台左边;如果对手飞船移出了舞台的最左边则调用resets()函数。
首先,if语句检查scrollStart是否为真?如果为真,那么对手飞船的X坐标减去(enemySpeed+_root.mainGround.groundSpeed),注意,不是只减去enemySpeed。
如果地面不在滚动的话,对手飞船减去随机数enemySpeed来向左移动;如果地面正在滚动,那么对手飞船要减去enemySpeed,再减去地面滚动的速度。这样做,唯一的目的是为了使飞船的移动更加真实。这是很简单的相对运动的知识。
第二个if语句检查实例enemy是否已经移出了舞台的左边界。如果为真,那么将调用reset函数。reset函数将影片剪辑重新移到舞台的右边,并且给它设置一个新的随机速度和随机y坐标。
如果读者现在测试影片可以看到,有一个对手飞船从舞台右边移到左边,之后马上重新回到舞台右边的一个随机位置。
仅仅有一个对手的游戏不能算是一个有挑战性的游戏,所以用duplicateMovieClip来增加更多的对手。把复制对手的代码放到主时间轴的一个新的图层。
在主时间轴上添加一个新层,起名为control。选中control层的第1帧,打开“动作”面板,输入下面的代码:
第一行建立一个新的变量numEnemy,并且给它赋初值为3。这个变量是任何一个时间点舞台上的对手飞船的个数。如果想增加游戏的难度,增加numEnemy就可以了。
下面的3行是一个for循环。这个循环复制enemy1影片剪辑。
有关Flash CS6中文版标准实例教程的文章
下面以一个简单实例制作演示元件的创建方法:选择“插入”/“新建元件”命令,或按快捷键Ctrl+F8。在时间轴面板中选中“弹起”帧,在元件编辑场景中绘制一个矩形,边角半径为20,无笔触填充,内部填充色为渐变。图3-1 按钮弹起状态图3-2 鼠标经过和按下状态图3-3 点击状态如果需要修改元件注册点位置,单击对话框中注册图标上的小方块。选择“窗口”/“库”命令,此时,在打开的库面板里就可以看到新创建的元件已添加至库中。......
2023-10-30
在绘图工具箱中选择骨骼工具,并单击要成为骨架的根部或头部的元件实例。在拖动时将显示骨骼。它显示为一个圆围绕骨骼头部。若要移动IK形状内骨骼任一端的位置,可以使用“部分选取工具”拖动骨骼的一端。骨骼将随变形点移动。旋转度数相对于父级骨骼而言。选中“启用”选项之后,在骨骼连接的顶部将显示一个指示旋转自由度的弧形。如果对骨骼同时启用了x平移和y平移,则对该骨骼禁用旋转时定位它更为容易。......
2023-10-30
我们通过模拟星空这个实例,向大家讲述前面讲到的几种比较重要的函数,给大家加深印象,让读者尽快掌握它们。按Ctrl+F8创建一个名为star的影片剪辑。单击渐变栏右边的颜色游标,然后在R,G,B和Alpha文本框中输入0,0,0,100%,填充效果如图8-2所示。图8-1 模拟星空图8-2 填充效果分别单击第2帧和第3帧,然后分别按下F6,插入两个关键帧。选中舞台上的star实例,在属性面板的实例名称文本框中输入“star”。......
2023-10-30
ActionScript照英语翻译过来就是动作脚本语言。按照官方的说法,ActionScritp是Flash的脚本描述语言,它可以帮助用户灵活地实现Flash中内容与内容,内容与用户之间的交互。读者不必了解很多ActionScript的知识就可以写一个简单的脚本。新建一个ActionScript 3.0的Flash文件。ActionScript与其他编程语言一样,具有变量、操作符、语句、函数和语法等基本的编程要素。并且在结构和语法上与JavaScript非常相似,下面简要介绍ActionScript中的常用术语。......
2023-10-30
传统文本的段落属性包括对齐方式和边界间距两项内容。图2-61 设置段落样式“段落”部分包括以下文本属性:●对齐:此属性可用于水平文本或垂直文本。在当前所选文字的段落方向为从右到左时,对齐方式图标的外观会反过来,以表示正确的方向。TLF会在这两个段落之间生成24像素的间距,而不是36像素。利用“高级段落”部分可以设置TLF文本的以下属性:●标点挤压:此属性有时称为对齐规则,用于确定如何应用段落对齐。......
2023-10-30
图7-9 应用内阴影前后的效果图7-10 隐藏对象前后的效果图7-11 模糊XY效果模糊的“品质”选项用于设置模糊的质量。图7-17 不同类型的斜角效果5.渐变发光渐变发光滤镜可以在发光表面产生带渐变颜色的光芒效果。图7-21 调整颜色的效果图提示如果只想将“亮度”控制应用于对象,请使用位于“属性”面板中的颜色控件。......
2023-10-30
用户可以通过设置“动作”面板的工作参数,来改变脚本窗格中的脚本编辑风格。若要设置动作面板的参数,可以执行如下操作:在“动作”面板的选项菜单中选择“首选参数”命令。在弹出的“首选参数”对话框里设置以下任意首选参数:●编辑:选择“自动缩进”会在脚本窗格中自动缩进动作脚本,在“制表符大小”框中输入一个整数可设置专家模式的缩进制表符大小。......
2023-10-30
使用Deco绘画工具,可以对舞台上的选定对象应用效果。Deco工具的使用方法如下:新建一个文档,单击选中绘图工具箱中的Deco工具,此时鼠标指针变成。切换到Deco工具的属性面板,如图2-44所示。在“绘制效果”下方的下拉表中选择Deco工具的绘制效果。图2-44 Deco工具的属性面板和绘制效果1)藤蔓式填充:利用藤蔓式填充效果,可以用藤蔓式图案填充舞台、元件或封闭区域。每次在舞台上单击Deco绘画工具都会创建形状网格。......
2023-10-30
相关推荐