当前位置:主页 > 平面设计

最新发布

Flash游戏制作--小熊拼图
Flash游戏制作--小熊拼图

拼图游戏是大家比较熟悉的一种游戏,小时候经常会玩到这个益智游戏,面前摆着一堆小方块,拼来拼去,今天我们就使用Flash重新演绎这个经典的游戏,可谓是老树开新花。(本例的.swf和.fla文件请点击这里下载)  游戏主界面如图1所示:图1  游戏主界面的右方是已经被分割的图案碎块,并且已经被打乱排列,左边是拼图的目标区域,我们的任务就是将右边的小块图案分别放置到左边的小方格里,如果将所有小块图案全部放置完毕后,能成为一幅完整的图案,则游戏成功。  下面我们来进行此游戏的制作。  1.首先需要选择一幅合适的图片,我们选择文件/导入命令,从外部导入一副小熊的图片到影片中,然后使用Ctrl+b快捷键将图片打散,如图2所示:图2  2.然后使用直线工具,在打散后的图形上横向绘制六条直线,纵向绘制两条直线,将图形分成3*7=21块,如图3所示:图3  3.因为游戏中需要使用鼠标拖动小的图案,所以分别选择每一块被分割的图案,将其转换成Button元件,分别命名为o1到o21。  4.判断游戏是否胜利,需要借助于Action动作脚本,通过动作脚本判断每块小图案是否在其应在的位置,所以还需要将按钮o1到o21转换成Movie clip影片剪辑,转换方法基本上相似,下面就以将按钮o1转换成影片剪辑m1为例,进行说明。  新一个Movie clip影片剪辑,命名为m1,进入元件的编辑区后,将元件o1拖到图层layer1中,并在第5帧插入一个关键帧,然后添加图层layer2,分别在第1,2,5帧插入关键帧,然后给第1帧添加如下Action动作脚本:x = getProperty("/1", _droptarget);//取得主场景中实例名为1的影片剪辑的_droptarget属性值,并赋值给变量x,_droptarget属性用来表示MC被放下的绝对路径if (x eq "/yer1") {setProperty("/1", _x, getProperty("/yer1", _x));setProperty("/1", _y, getProperty("/yer1", _y));gotoAndStop(5);}//如果x也就是小图案被放下的位置和其对应的矩形位置一致的话,说明小图案的位置正确,然后设置小图案的坐标值为小矩形的坐标值,然后执行第5帧给第2帧添加如下Action动作脚本:gotoAndPlay(1);//返回到第一帧继续判断位置是否正确给第5帧添加如下Action动作脚本:stopDrag();/:correct = Number(/:correct)+1;//如果位置正确,停止拖动小图案然后给元件o1添加AS:on (press) {startDrag("/1", true);}//按下鼠标,开始拖动小图案on (release) {stopDrag();}//释放鼠标,停止拖动小图案  最后时间线如图4所示:图4  5.接下来制作游戏界面左边的接收图案的小方块,一共也需要21个,其制作方法完全相同,下面以其中一个yer1为例进行说明。  新建一个Movie clip影片剪辑元件,命名为yer1,然后使用矩形工具绘制一个大小适中,填充色为白色,无轮廓的矩形,如图5所示:图5  如法炮制,制作出其余20个矩形即可。  6.回到主场景中,添加三个图层,由下自上分别命名为table,border和pic,首先选中table图层,将元件yer1到yer21共21 个矩形拖到舞台中,排列其位置到舞台左边,并将其排列成7*3的阵列,如图6所示:图6  排列好后,在属性面板中设置其对应的实例名,分别为yer1到yer21.  7.选中图层border,使用直线工具给已排列好的矩形添加黑色的边线,如图7所式:图7  8.最后选中图层pic,将元件m1到m21分别从库中拖到舞台上,也排列成7*3的阵列,然后放置到舞台靠右的位置,如图8所示:图8  然后还需要给这21个小图案设置实例名,设置规则是m1设置为1,m2设置为2,依此类推,全部设置。  最后发布影片,游戏制作完成了,是不是很简单,如果你已经成功拼出了上面的小熊,完全可以按照上面讲解的方法,换一个图案自己做一个新的游戏,做到百玩而不厌

7 次浏览
Flash游戏制作--考眼力
Flash游戏制作--考眼力

大家可能都玩过这样一种游戏,和朋友座在一起,面前摆三张扑克牌,一张是翻开的,你可以看到牌的内容,其它两张则是被翻过的,看不到具体是什么牌,然后由别人随意的快速交换三张牌,最后看谁能找到开始时翻开的牌,这就需要在交换牌的过程中仔细观察,也算是对你的眼力的考验吧。(本例的.swf和.fla文件请点击这里下载)  这次我们使用Flash来模拟一下这个游戏,换牌的过程由电脑完成,你只需要用眼睛盯住目标牌即可,游戏的主界面如图1所示:图1  玩家只需要在开始界面中用鼠标点击一下,电脑就会开始快速的换牌了,游戏的制作原理其实比较简单,游戏的过程无非是纸牌的两两交换,我们只需要先将纸牌的交换过程做好,比如第一张和第二张交换,第二张和第三张交换,第一张和第三张交换,然后使用Random随机函数随机的调用这三个交换过程,就可以实现随机交换牌的功能。  下面我们来具*作这个游戏。  1.首先需要制作图一中中间位置的目标牌,新建一个Graphic图形元件,命名为club,进入元件的编辑区后,使用钢笔工具绘制图2所示的梅花图形,然后填充上黑色:图2  再新建一个Graphic图形元件命名为picture,进入元件的编辑区后,先选中矩形工具,然后打开工具箱下面的附加工具”圆角矩形半径设置”对话框,设置圆角矩形的半径为3,如图3所示:图3  设置好后,在编辑区中绘制一个大小适中的圆角矩形,如图4所示:图4  按照同样的方法绘制一个稍微小一点的圆角矩形,放到前一个矩形内,并将元件club放到两个矩形的正中间,如图5所示:图52.制作好目标牌后,就需要制作纸牌的背面了,新建一个Graphic图形元件,命名为card,进入元件的编辑区后,还是按照上面一样的方法绘制两个套在一起的圆角矩形,里面那个矩形的填充色设置按照图6所示设置即可:图6  最后效果如图7所示:图7  再新建一个Movie clip影片剪辑元件,命名为cards,进入元件编辑区后,添加三个图层,每一层都放置一个card对象,并将其从左到右排列好,如图8所示:图8  3.所需要的纸牌制作好后,就需要制作纸牌的交换过程了,因为游戏中一共有三张纸牌,所以我们只需要制作三个不同的交换效果,分别为1和2,1和3,2和3交换,这三个交换过程的制作方法完全相同,这里只讲解1和2交换的制作方法,其它两个交换过程类似。  新建一个Movie clip影片剪辑元件,命名为swap12,进入元件的编辑区后,建立四个图层,在layer3,layer2,layer1中从左到右放置三个card对象,将其排列好,然后在四个图层的第10祯分别插入关键帧,在第10桢处,将纸牌1和2交换一个位置,分别在layer2和layer3中创建Motion运动过渡动画,这样就实现了1和2的交换效果,最后在layer4的最后一祯添加如下Action动作脚本:tellTarget ("_level0") {gotoAndPlay(12);}最后的时间线如图9所示:图9  按照同样的方法制作其它两个交换过程,swap13和swap23.  4.游戏中需要使用鼠标点击纸牌来开始游戏和在最后确定目标牌,所以还需要制作一个隐形按钮,新建一个Button按钮元件,命名为invisible,在最后的hit桢绘制一个长矩形即可。  5.回到主场景,设置舞台大小为320px*160px,背景色为白色。在主场景中添加三个图层,从下到上分别命名为cards,button和actions.  6.将元件invisible隐形按钮放到图层button中,然后将时间线延伸到第6祯,在第46桢插入一个关键祯,同样将隐形按钮拖到舞台中,最后将时间线延伸到第62祯,如图10所示:图10  7.回到图层cards,在第7桢插入一个关键祯,将元件card分两次拖到舞台中,并调整位置到舞台的两侧,然后将元件picture放置到舞台正中间,作为游戏的开始画面,如图11所示;图11  最后将时间线延伸到第11祯。  8.在第12祯插入一个空白关键帧,将元件cars放到舞台上,在第18帧插入一个空白关键帧,将元件swap12拖到舞台中,在第23帧插入一个空白关键帧,将元件swap13放到舞台中,同样的在第32帧插入一个空白关键帧,将元件swap23拖到舞台中。  9.第8步其实设置的是游戏中交换纸牌的过程,将三个交换过程插入到影片中,然后由程序随机的调用。最后需要玩家来判断目标牌的位置,所以在第40帧插入一个空白关键帧,将元件card分三次拖进舞台,从左到右排列好,因为这时候玩家需要通过鼠标点击来作出自己的判断,所以需要将这三个MC转换成Button,方法很简单,只需要在属性面板的元件类型下拉列表中选择Button即可,如图12所示:图12  10.最后需要制作目标牌的三个不同位置,以便和玩家所做判断进行比较,在第46帧插入一个空白关键帧,将元件pictrue放到舞台的最左边,然后分两次将元件card放进舞台,排列其位置到舞台靠右的地方,如图13所示:图1311.按照相同的方法,分别在第52和第58帧设置目标牌的其它两个位置,分别如图14和图15所示:图14图15  12.最后的任务就是给游戏设置Action动作脚本来控制游戏了。在图层actions的第7帧添加如下AS:/:pos1 = "0";/:pos2 = "1";/:pos3 = "0";/:count = Number(int(random(5)))+6;//初始化3个变量,count取一个随机数,范围在4到10之间的整数stop();//将游戏停止在这里,直到用户响应图层actions的第12帧添加如下AS:stop();//将游戏停止在此帧if (Number(/:count)<>0) {/:count = /:count-1;//如果随机数count的值不等于0,count的值减1ran = random(3);//设置随机变量ran,取值范围在0到2之间if (Number(ran) == 0) {gotoAndStop("swap12");//如果随机数ran的值等于0,则执行swap12这帧,交换1和2} else if (Number(ran) == 1) {gotoAndStop("swap13");//如果随机数ran的值等于1,则执行swap13这帧,交换1和3} else {gotoAndStop("swap23");//如果随机数ran的值等于2,则执行swap23这帧,交换3和2}} else {gotoAndStop("guess");//如果随机数count的值等于0,执行guess帧,交换结束,等待玩家进行判断}图层actions的第18帧添加如下AS:temp = /:pos2;/:pos2 = /:pos1;/:pos1 = temp;图层actions的第25帧添加如下AS:temp = /:pos3;/:pos3 = /:pos1;/:pos1 = temp;图层actions的第32帧添加如下AS:temp = /:pos2;/:pos2 = /:pos3;/:pos3 = temp;//上面三帧都是分别设置三个变量13.回到图层card的第7帧,给最左边的纸牌添加如下AS:on (release) {if (Number(pos1) == 1) {gotoAndStop("pos1");} else if (Number(pos2) == 1) {gotoAndStop("pos2");} else {gotoAndStop("pos3");}}//根据变量pos1.pos2,pos3的不同值,跳到相应的帧给中间的纸牌添加AS:on (release) {gotoAndPlay("shuffle");}//如果点此纸牌,则开始游戏  最后的时间线如图16所示:图16  在上面action编写过程中,为了简化编写过程,我们给图层actions的一些帧设置了帧标签,可以达到明确当前帧作用的目的,所以在动画制作中推荐大家多使用帧标签,可以在一定程度上提高工作效率,具体的帧标签设置大家可以参考附带的源文件。  最后发布游戏,就可以开始玩了,看看你的眼力是不是很好哦:)

4 次浏览
winamp视觉效果演播室Flash造
winamp视觉效果演播室Flash造

效果简介:  启动WinAMP,打开winamp设置面板“选择插件/视觉效果”可以看见winamp视觉效果演播室插件,单击该插件选项打开AVS面板就可以欣赏许多非常炫的视觉效果。本文就是介绍用Flash制作这种视觉效果的方法。设计效果如下:(本例的*.swf和*.fla文件请点击这里下载)  部分设计效果预览图   如果把以上这些效果应用到您的Flash MTV中,那该多爽啊!由于篇幅关系,笔者只能给大家讲解其中一个较简单的效果的制作方法。不过,只要您学会这一个效果的制作,再动动脑和手,就可以做出其它更加眩目的效果来设计方法:  打开FlashMX:按快捷键Ctrl+J,设置场景为400px×400px,黑色,帧速率12fps。  一、元件的设计  ü 按快捷键Ctrl+F8新建一个名为“part”的Movie Clip符号。然后在“part”的场景里随便画几个圆圈,三角,方块;线条也可以是虚线;也可以设计的很粗。如图1所示。图1 “part”符号的设置  要做出更精彩的效果,这一部分是要好好动动脑子设计的。如果“part”符号内的图像也是可运动的话,那效果就更加复杂了。  ü 按快捷键Ctrl+F8新建一个名为“motion”的Movie Clip符号。“motion”符号里层与帧的组成结构如图2所示。图2中右边为Library面板,面板里为所有元件。图2 “文字影片”层与帧的结构 图3 改变“part”符号的形状  现在设置一下“Move”层里5个关键帧。  首先,把影片剪辑“motion”场景里“Layer 1”层的名字改为“Move”。接着按快捷键Ctrl+L打开库,把库中的影片剪辑符号“part”拖拽到“Move”层里。右键单击层的第1帧,选择Create Motion Tween命令,建立帧的渐变运动。  分别单击第15、30、45、60帧,按快捷键F6插入关键帧。下面,改变这几个关键帧是“part”符号的大小,角度,形状,以求达到形状上的变化。  点选中第15帧中的“part”符号,按快捷键Ctrl+T打开Transform面板并如图3所示缩放“part”符号。点选第15帧,按快捷键Ctrl+F3打开Properties面板并如图4所示选择Rotate下拉菜单中的CCW命令,使“part”符号从该帧开始到下一个关键帧进行逆时针的运动。  第30帧中只要把“part”符号放大一点就可以了。图4 改变第15帧中符号的旋转方向 图5 改变第30帧中的“part”符号   第45帧中把“part”符号缩小到原来的一半,并进行垂直翻转。  第60帧的设置要与第1帧相同,这样可以保证影片播放的流畅性。  ü 按快捷键Ctrl+F8新建一个名为“color”的Movie Clip符号。“color”符号里也只有一层;也是60帧;每隔10帧为一个关键帧。每个关键帧都会对“motion”影片剪辑的颜色和大小进行设置。篇幅关系,就讲第10和40帧的设置,其它关键帧的设置类似。  先把库中的“motion”符号拖拽到“color”符号场景的层里,用同上的方法建立5个关键帧。选中第10帧场景中的“motion”符号,打开Properties面板并如图6所示进行设置。接着把“motion”符号向场景的左上角移动一点距离。Tint表示图像的色彩。图6 改变“motion”符号的色彩  第40帧场景中的“motion”符号选择深蓝色,并向场景的左下角移动一点距离。二、场景的设计  1. 主场景中的层  如图7所示建立“Actions”和“Sybmol”两层。并从库中把符号“color”拖拽到“Sybmol”层中。选中“Sybmol”层中的“color”符号,打开Properties面板给它起个实体名“part”。如图8所示。图7 主场景中层与帧的结构图8 命名“color”符号的实体名称  2. 设计控制程序。  分别选中“Actions”层中的第2、3帧按F7键插入空白关键帧,并按F9键打开Actions面板,输入如下代码:  ※ 第1帧中的代码如下:i = 1; //控制着影片复制的深度,借以区别被复制出的影片j = 40; //和变量i作用一样,不过j是控制影片删除所用的变量k = 100; //控制影片缩放的参数,大小随意num = 80; //控制影片的最大复制量setProperty("part", _visible, 0); //隐藏母本※ 第2帧中的代码如下:while (i//对影片“color”进行复制duplicateMovieClip("part", "part" add i, 100-i);//setProperty()语句的作用是让影片在X轴的方向上按一定比例进行缩放//参数“k*random(i)”又一次体现了随机函数的魅力,其作用是控制影片的缩放比例setProperty("part" add i, _xscale, k*random(i));setProperty("part" add i, _yscale, k*random(i));setProperty("part" add i, _alpha, num-i);i = i+1;removeMovieClip("part" add random(j)); //随机删除影片}※ 第3帧中的代码如下:gotoAndPlay(2);// 返回第2帧  其实实现这个效果,随机函数是第一功臣,其次就是对符号的设计。至于符号的设计灵感大家可以在winamp中的视觉效果里寻找。那么,设计好多个效果后,怎么做才能方便地调用和欣赏它们呢?下面教大家一个最简单的方法:   单击Windows菜单/Common Libraries/Button命令,打开Button库,拖出一个按钮到主场景中,然后右键单击这个按钮,选择Actions命令后,输入如下代码:on (release) {loadMovieNum("xxx.swf", 0);}  最后给每个效果都添加加上一个调用按钮,使其彼此之间可以进行相互调用。如果你对设计还存在什么问题,可以联系作者――我的QQ是:3549101

7 次浏览
Flash效果制作-璀灿星光
Flash效果制作-璀灿星光

静静的夜空,繁星点点,天空中不断滑过耀眼的光芒,给人一种很强的视觉冲击力,这样的夜空也许只能出现在无限的幻想中,不过没关系,这次我们用强大的Flash模拟一个这样绚丽的夜空效果,可以在制作过程中充分发挥自己的想象力。(本例.swf和.fla文件请点击这里下载)最终的效果如图1所示:图1下面就请跟我一起制作此实例。1.夜晚的天空没有星星是不行的,所以首先制作夜空中的星星,新建一个Movie clip 电影剪辑元件,命名为star,进入元件的编辑区后,按下shift键的时候使用椭圆工具绘制一个很小的正圆,并填充上适当的颜色,填充色暂时可以任意设置,在后面还要对每个星星设置不同的颜色,如图2所示为工作区放大为800%后的效果:图2然后在建立一个movie clip元件,命名为100stars,在这个元件中制作满天星星的效果。进入元件的编辑状态后,分别5此拖动元件star到编辑区中,并设置为不同的颜色,然后给5颗星星在属性面板中分别设置Instance name为s1,s2,s3,s4和s5,如图3所示:图3在图层1的第1祯添加如下Action动作脚本,以便对星星进行复制,形成满天星星的效果:c = 1;//初始化变量c的值为1while (Number(c)<100) {c = Number(c)+1;//c的值经过每次循环后增1name = "ss" add c;//设置变量name的值为字符串aa和变量c的组合sn = "s" add (1+Random (4));//设置变量sn的值为字符s和1到5之间的随机数的组合if (Number(random(4))<2) {sn = "s" add 4;}//如果取得的随机数小于2,变量sn的值为s4duplicateMovieClip(sn, name, c);setProperty(name, _x, 150-random(300));setProperty(name, _y, 150-random(300));sc = 50*(1+Number(random(3)));setProperty(name, _alpha, 7500/sc);setProperty(name, _xscale, sc);setProperty(name, _yscale, sc);//对对象sn进行一系列的复制,并设置其各种属性}//当变量c的值小于100时候执行上面的循环,也就是执行100此上面的程序stop();2.在此例中,天空中会有一个光球不断发出耀眼的光芒,下面就来制作这个发光的光球。新建一Movie clip影片剪辑元件,命名为starblink,进入元件的编辑状态后,在第2祯插入一个关键祯,然后使用椭圆工具绘制一个正圆,按照图4所示的设置对其进行填充,如图5所示:图4图5然后分别在第4和第6祯插入关键祯,使用缩放工具调整第4关键祯中的圆球,将其适当放大,调整第6关键祯中的圆球,将其缩小为一个小圆点,然后分别选中第2祯和第4祯,从属性面板的Tween下拉列表中选取Shape形状渐变效果,建立两个形状渐变,如图6所示:图6最后在第10祯插入关键祯,添加如下Action动作脚本:gotoAndPlay(1);3.光球在发射光芒的时候将在其四周产生一圈冲击波,这样的效果就更逼真了。新建一个Movie clip影片剪辑元件,命名为sky1,来制作单个的冲击波,进入元件编辑状态后,使用绘图工具绘制如图7所示的图形,作为冲击波单元:图7绘制好后,将此图形转化为Movie clip影片剪辑,命名为sky,然后在元件sky1中设置其Instance name为s3.然后给第1祯添加如下Action动作脚本:alp = 1;//初始化变量alp的值为1while (Number(alp)<20) {name = "s" add alp;//设置变量name的值为字符s和变量alp的组合duplicateMovieClip("s3", name, Number(alp)+1);setProperty(name, _rotation, alp*18);alp = Number(alp)+1;//复制对象s3,并设置其旋转}//进行20次循环stop();接下来制作冲击波的由远及进的运动效果,新建一个Movie clip影片剪辑元件,命名为Oval,进入元件的编辑状态后,将元件sky1拖到其编辑区中,然后在第50祯插入一个关键祯,将元件sky1放大并向下移动一段距离,最后建立Motion 运动过渡效果,第1祯和第50祯分别如图8和图9所示;图8图9最后在第50祯添加Action: stop();.4.接下来制作光芒四射的效果。新建一个Movie clip影片剪辑元件,命名为ray,进入元件的编辑区后,使用矩形工具绘制一个细长的矩形,并填充上蓝白渐变色,然后使用箭头工具调整一端为细尖,将有尖的一端旋转到上方,如图10所示:图10再新建一个Movie clip影片剪辑元件,命名为3ray,进入元件编辑状态后,分别分三此将元件ray拖到编辑区中,并如图11所示调整其相对位置:图11然后再建立一个Movie clip影片剪辑元件,命名为6ray,进入元件编辑区后,将元件3ray拖到编辑区中,在属性面板中设置其Instance name为3r,然后给第1祯添加如下Action 动作脚本;setProperty("3r", _rotation, random(180));//设置对象3r的旋转角度为0到180度之间的随机数duplicateMovieClip("3r", "n", 1);setProperty("n", _rotation, random(180));//复制对象3r,并使其旋转然后需要制作光芒旋转的效果,新建一个Movie clip影片剪辑元件,命名为6raymove,进入元件的编辑区后,将元件6ray拖进来,分别在第5祯和第15祯插入关键祯,然后对第5祯的6ray对象使用旋转工具进行逆时针旋转,对第15祯的6ray对象进行顺时针旋转,分别建立第1祯到第5祯,第6祯到第15祯的Motion运动过渡效果,需要在属性面板上设置Rotate项为Auto,属性面板如图12 所示:图12最后在最后一祯添加Action动作脚本; gotoAndPlay(1);.5.最后要制作的就是夜空中迸发出的流星了,然后与上面的效果组合搭配起来,就是最终的绚丽的夜空了。新建一个Moview clip影片剪辑元件,命名为rocket,进入元件编辑状态后,使用矩形工具绘制一个水平的矩形,并填充上蓝白渐变色,如图13所示:图13接下来制作流星运动的效果,新建一个Movie clip影片剪辑元件,命名为rocketmove,进入元件编辑区后,将元件rocket拖进来,然后在第30祯插入一个关键祯,将元件rocket水平向右移动一端距离,然后建立从第1祯到第30祯的Motion 运动过渡效果。最后就需要使用Action动作脚本复制并控制一系列流星了,新建一个Movie clip影片剪辑元件,命名为dublicate,进入元件编辑状态后,只在第2祯插入一个关键祯,将元件rocketmove放如此祯,然后给第1祯添加如下所示Action动作脚本:Count = 0;//定义并初始化变量count给第2祯添加如下所示Action动作脚本:z = 0;//定义变量zwhile (Number(z)<6) {Count = Number(Count)+1;//设置变量count的值每次循环增1name = "s" add Count;//设置变量name的值为字符s和变量count的值的组合rot = Number(random(360))+1;//设置变量rot为360内的随机数duplicateMovieClip("st3", name, Count);setProperty(name, _xscale, 20+Number(Count*0.5));setProperty(name, _rotation, rot);z = Number(z)+1;//复制对象st3并使其旋转和变形}//进行6次循环给第3祯添加如下所示Action动作脚本:if (Number(Count)>120) {stop();} else {gotoAndPlay(2);}//根据cound的不同值执行不同的操作最后的任务就是布置主场景了,只需要将上面制作的各种元件分别放到不同的图层中即可,这样一幅很酷的璀灿星光效果就制作完成了。从制作过程中可以明显的感到,制作一个复杂效果,其实可以将其分解为不同的简单效果,然后通过有机的结合和调整,就可以构成一个非常复杂的效果

2 次浏览
Flash游戏制作--打靶
Flash游戏制作--打靶

Flash射击类游戏现在已经有很多了,大部分是那种飞行射击类游戏,这此我们来学习制作一款比较另类的射击游戏―打靶,就象在靶场一样,远处摆放一个目标靶,你来进行射击,不过这个游戏玩还是有点难度的,因为游戏中的目标靶会一直慢慢的移动,可不是一动不动地等着你来打。(本例的.swf和.fla文件点击这里下载)游戏的主界面如图1所示:图1游戏中有一个不断移动的方形目标靶,玩家可以控制一个瞄准器来射击,每次最高得分为5分,也就是必须射中靶心才可以,最低得分为1分,具体得分视射击结果来定,目标靶的右面是记分牌,用来记录射击次数和每次的得分,每次游戏可以打十枪,得分越高越好。1.游戏中每次射击后对所得分数的判断是根据所射中的圆环,如果射中的是最外面的圆环,只能得一分,越往内部,得分越高,所以首先制作目标靶中的代表不同得分的圆环,因为在射击过程中圆环需要对鼠标的点击做出响应,所以圆环应该制作成Button.新建一个Button按钮元件,命名为1,进入元件的编辑区后,使用椭圆工具绘制两个不同大小的正圆,然后将小圆放到大圆的内部,并将小圆的内部填充区域删除掉,然后使用文本工具在圆环上标注上分值,如图2所示:图2按照相同的方法制作其余四个代表不同分数的圆环,只不过分数越大的圆环,其内部的小圆半径就越小,同时给不同圆环标注上相应的分数,其余四个圆环分别如图3,4,5,6所示;图3图4图5图62.接下来制作瞄准器,新建一个Graphic图形元件,命名为gun,进入元件的编辑区后,使用绘图工具绘制如图7所示的瞄准器:图7在第4帧插入一个关键帧,将图7中的所有线条的宽度稍微减小,如图8所示,这样就可以达到瞄准器的伸缩效果:图8最后新建一个Movie clip影片剪辑元件,命名为mgun,将上面制作好的元件gun拖到编辑区中即可3.下面来制作游戏中的关键部分,目标靶。新建一个Movie clip影片剪辑元件,命名为target,进入元件的编辑区后,添加四个图层,从下向上依此命名为bg,target,info和as。选择图层bg,使用Flash提供的丰富的绘图工具绘制一个目标靶的背景图,可以根据自己的喜好来绘制,这里我们绘制的背景图如图9所示:图9最后将时间线延伸到第3帧。回到图层target,将前面制作好的五个圆环1,2,3,4,5拖到编辑区中,将1排到最外层,将5放到最内层,并按照实际生活中靶的情况进行排列,如图10所示:图10最后将时间线延伸到第2帧即可。回到图层info,使用文本工具在游戏背景的右侧绘制两个文本框,在属性面板中分别设置为Dynamic text动态文本框,并分别设置文本变量为b和c,分别代表游戏中的射击次数和每次的得分,然后使用文本工具在文本框旁边输入提示信息,如图11所示:图11然后在此层的第3帧插入一个空白关键帧,使用文本工具在背景上输入重玩的提示信息―replay,然后在下面绘制一个动态文本框,设置其变量名为a,用来显示最后的总得分,如图12所示;图12最后在图层as的第2帧添加AS: gotoAndPlay(1); 在图层as的第3帧添加AS: stop();4.这里可能大家会问,控制游戏的Action动作脚本在哪里呢?我们可以仔细想一想,游戏中的主要动作就是玩家对目标靶进行的射击,所以游戏中主要的控制脚本应该加在前面的五个圆环中。回到图层target,选中圆环1,添加如下AS:on (release) {a=Number(a)+Number(1);//如果击中了圆环1,游戏总分为上次总分加1b=Number(b)+Number(1);//射击次数为当前次数加1c=1//当次射击得分为1}//如果击中了圆环1,游戏总分为上次总分加1同样的给圆环2添加如下AS:on (release) {a=Number(a)+Number(2);//如果击中了圆环1,游戏总分为上次总分加2b=Number(b)+Number(1);//射击次数为当前次数加1c=2//当次射击得分为2}给圆环3添加如下AS:on (release) {a=Number(a)+Number(3);//如果击中了圆环1,游戏总分为上次总分加3b=Number(b)+Number(1);//射击次数为当前次数加1c=3//当次射击得分为3}给圆环4添加如下AS:on (release) {a=Number(a)+Number(4);//如果击中了圆环1,游戏总分为上次总分加4b=Number(b)+Number(1);//射击次数为当前次数加1c=4//当次射击得分为4}给圆环5添加如下AS:on (release) {a=Number(a)+Number(5);//如果击中了圆环1,游戏总分为上次总分加5b=Number(b)+Number(1);//射击次数为当前次数加1c=5//当次射击得分为5}最后的时间线如图13所示;图135.最后回到主场景,新建两个图层,分别命名为target和gun,分别将元件target和gun拖到相应的图层,在属性面板中设置对象gun的实例名为move,然后在图层gun 的第一帧添加如下AS:startDrag("/move", true);Mouse.hide();//拖动瞄准器并隐藏鼠标对于图层target中的目标靶,我们可以设置一些Motion运动过渡,使其缓慢的移动,具体如何移动可以自己来觉得,无非是先向坐,再向上,再向右,最后再向下这样的干扰射击的运动。最后时间线如图14所示:图14这样,一个很好玩的打靶游戏就制作完成了,你也可以对本游戏进行适当的扩展,比如说设置十个圆环,最高得分为10,这样就更增加了游戏的可玩性

3 次浏览
商业Flash实例制作--信息表单
商业Flash实例制作--信息表单

在本实例中,将使用组件来创建一个包含两个页面的简单表单。该表单的内容是参加博彩来赢得一辆免费的 Stiletto 电动汽车。表单1表单用于收集信息,第2页表单用于显示结果。本实例将按照下面三个步骤来完成这个表单:(本例的源文件请点击这里下载)  1.在影片中添加组件.  2.配置影片中的组件.  3.在影片中添加动作脚本使组件正常工作.  为了使用户能够顺利入门,这里已经提供了这个影片的背景、相关文本字段和图形。只需要再添加并配置组件和动作脚本以使之成为一个交互式表单即可。   创建窗体   为了方便大家的制作,首先打开我们提供的table.fla这个Flash源文件,可以在这个文件的基础上进行下面的工作,影片打开后的界面如图11所示:图1 表单原始界面  添加组件  首先需要向影片中添加组件,并把它们放置在舞台上。按照计划需要向第一个表单中添加一个复选框、一个组合框和一个普通按钮,还要在第二个表单中添加一个普通按钮。   要向影片中添加组件,方法很简单,可以把相应的组件从“组件”面板中拖到舞台上,或者在“组件”面板中双击要添加的组件,组件会自动放置在舞台的中心。当向影片中添加组件后,影片的“库”面板中也会显示该组件。   给影片添加组件,一个好的习惯就是为组件单独建立一层,这样便于对组件的编辑和修改. 所以在影片中新创建一个图层并命名为 UI,表单中的所有组件将放在这个层中。  在时间轴的 UI 层中单击第 6 帧,选择“插入/空白关键帧”菜单命令,添加空白关键帧,目的是作为两个表单之间的分界线,前6帧用于第1个表单,第6帧以后用于第2个表单.  添加复选框:  在 UI 层中选择第 1 帧,把“CheckBox”组件从“组件”面板拖到舞台中,把它放在询问用户是否想进入博彩那一段文本的下面.如图2所示:图2 添加CheckBox”组件  新添加的“CheckBox”组件会出现在“库”面板的“Flash UI Components”文件夹中,如图3所示:图3 组件添加到Flash UI Components中添加组合框:  使用“ComboBox”组件创建一个简单的下拉菜单,其中包含用户可以选择的项目。也可以使用“ComboBox”构建更为复杂的下拉菜单,这个菜单可以自动滚动到以用户输入到文本字段中的字母开头的菜单项。   把“ComboBox”组件从“组件”面板拖到舞台中。把它放在“选择用户喜欢的颜色:”文本下,如图4所示:图4 添加ComboBox组件  “ComboBox”组件也会出现在“库”面板的“Flash UI Components”文件夹中,如上图13-22所示。  添加普通按钮  使用“PushButton”组件创建两个普通按钮,一个按钮放在第1个表单中,用来提交表单中的信息。另一个按钮放在第2个表单中,用来返回到第1个表单,并把以前提交的值填回第1个表单中。   把“PushButton”组件从“组件”面板拖到舞台中,把它放在窗体的右下角,使它和“姓名:”及“电子邮件:”文本字段保持在同一水平线上,如图5所示:图5 添加PushButton组件“PushButton”组件也会出现在“库”面板的“Flash UI Components”文件夹中, 如上图5所示。然后选中第6帧,同样将一个“PushButton”组件放到表单的右小角,使它和”如果用户想再次参加比赛,请单击“返回”以返回到表单1”文本字段保持在同一水平线上,如图6所示:图6 添加PushButton组件  到此为止,影片中的所有组件就添加完成了,接下来需要对所添加的组件进行配置.  配置组件   组件添加到影片中后,还不能正常的工作,需要对其进行配置,用正确的信息设置组件以便用户选择。   可以使用“属性”面板或“组件参数”面板的“参数”选项卡来设置组件的参数。   高级用户也可以使用每个组件的 API 方法和属性来设置组件的参数、大小、外观和其它属性,每个组件元素可用的方法和属性列在组件名下面的动作脚本字典里。   接下来就对表单中的每个组件进行配置.  配置复选框:  1.在 UI 层中选择第 1 帧,然后选择舞台中的“CheckBox”组件,它的所有参数会显示在“属性”面板中,如图7所示:图7 “CheckBox”组件“属性”面板  2.在“实例名称”文本框中输入 sweepstakes_box,作为此组件的Action控制名。   3.在“Label”(标签)文本框中键入文本“妙极了!”,做为此复选框的标签,播放效果如图13-27所示:图8 复选框组件添加标签  4.在“Initial Value”(初始值)参数弹出式菜单中,选择“True”。这指定“CheckBox”组件的初始状态是选中 (True) 还是没有选中 (False)。   5.在“Lable Placement”(标签定位)参数弹出式菜单中,保留默认值为右对齐。标签将显示在复选框的右边。  6.不需要更改 Change Handler 参数的默认值Change Handler 参数是用户希望在选择某个项目时执行的函数,此函数必须和组件实例定义在同一个时间轴里,此参数是可选的。只有在希望用户访问组件时应产生一个动作的情况下,才需要指定这个参数。  完成上述操作后,“属性”面板应该是如图9所示的样子:图9 配置完成后的“CheckBox”组件“属性”面板  配置组合框:  1.在舞台中选择“ComboBox”组件,它的相关参数会显示在“属性”面板中,如图10所示:图10 “ComboBox”组件“属性”面板  2.在“实例名称”文本框中键入color_box ,作为此组件的Action控制名。  3.确保将“Editable”(可编辑)参数设为 False,这样可以防止用户键入自已的文本。  4.Labels (标签)参数显示用户可以选择的一个值列表,单击“Labels”字段,然后单击放大镜按钮 打开“值”弹出式窗口,单击加号 (+) 按钮可以向列表中输入一个新的值,如图11所示:图11 “值”弹出式窗口  5.单击 default value 字段,然后键入“珍珠白”作为第 1 个值。   6.单击加号 (+) 按钮输入下一个值,单击 default value 字段,然后键入“宝石蓝”作为下一个值。   7.用相同的方式,把“翡翠绿”也添加到列表中。如果想继续向列表中添加项目,可以重复此布添加更多的项目.  完成上述操作后,“值”弹出式窗口应该如图12所示:图12 添加项目后的“值”弹出式窗口  8.单击“确定”按钮关闭“值”弹出式窗口。 9.Data(数据) 参数是可选的,用来指定与列表框中的项目(标签)相关联的值,在本实例中不需要设置此项。  10.Row Count (行数)参数指定窗口中显示多少行,由于有三个选项,所以把值改为3即可。11.无需输入 Change Handler 参数的名称。   完成上述操作后,“属性”面板应该如图13所示:图13 配置完成后的“ComboBox”组件“属性”面板  配置普通按钮:  1.在图层Ui的第 1 帧中选择“PushButton”组件,组件的相关参数显示在“属性”面板中,如图14所示:图14 “PushButton”组件“属性”面板2.在“属性”面板“实例名称”文本框中,键入 submit_BTn, 作为此组件的Action控制名。  3.在“属性”面板“Label”(标签)文本框中,键入文本“提交”,此文本会显示在按钮上。   4.键入 onClick 作为“Click Handler”的名称,后面将编写动作脚本来定义“Click Handler”应该执行的操作。  完成上述操作后,“属性”面板应该如图15所示:图16 配置完成后的“PushButton”组件“属性”面板  5.在图层Ui的第 6 帧中选择“PushButton”组件,可以按照第1帧中类似的方法设置其属性.。  6.在“属性”面板“实例名称”文本框中,键入 return_btn, 作为此组件的Action控制名。  7.在“属性”面板“Label”(标签)文本框中,键入“返回”作为按钮上显示的提示文字。   8.键入 onClick 作为“Click Handler”的名称。  到此为止,表单中的所有组件就配置完成了,不过现在表单还不能正常工作,需要编写Action动作脚本来收集表单信息并进行处理.编写动作脚本来收集数据   一些动作脚本会用在整个影片中,而另一些只和特定的帧相关。下表可以帮助用户理解实例名称。实例名称说明color_box表单1上的“Color”组合框sweepstakes_box表单1上的“Sweepstakes”复选框submit_btn表单1上的“Submit”普通按钮name表单1上的名称输入文本框email表单1上的电子邮件地址输入文本框return_btn表单2中的“Return”普通按钮name_result表单2中显示用户名的动态文本框email_result表单2中显示用户电子邮件地址的动态文本框color_result表单2中显示用户颜色选择的动态文本框sweepstakes_text表单2中根据用户是否选择参加搏彩来显示不同文本的动态文本框  为整个影片编写动作脚本:  组件动作脚本放置在关键帧中,“Click Handler”参数指定当“PushButton”组件被激活时进行的操作,默认值是 onClick,这意味着当用户单击某个普通按钮时,它会被激活。首先要为 onClick 创建一个函数,这是一个分支函数,它首先判断被按下的是“提交”按钮还是“返回”按钮,然后据此执行动作。  1.创建一个新的层,并命名为 All Actions。这将用于在整个影片中运行的动作脚本。  2.如果“动作”面板没有打开,选择“窗口/动作”菜单命令。   3.按下 Control+Shift+E 键 (Windows) 或 Command+Shift+E 键 (Macintosh),或单击右上角的控制图标(一个上面有复选标记的三角形)并从弹出菜单中选择“专家模式”,切换到专家模式。  4.首先,输入普通按钮的回调函数。这是个条件语句,根据单击的按钮进行分支。如果单击的是“提交”按钮,它将分支到 getResults 函数并进入表单2,如果单击的是“返回”按钮,它将进入表单1。   在“动作”面板中输入下面的代码。//单击鼠标回调function onClick(btn) {if (btn == submit_btn) {getResults();gotoAndStop("pg2");} else if (btn == return_btn) {gotoAndStop("pg1");}}  注意:虽然不建议这样做,但如果用户不想编写动作脚本,可以从本实例中复制这段文本并粘贴到“动作”面板。  5.现在编写 getResults 函数。该函数可以从搏彩复选框和颜色组合框中获取结果。它以标签的形式从组合框中得到结果,因而可以显示结果。 //从pg 1中得到返回值function getResults() {sweepstakes_result = sweepstakes_box.getValue();color_result = color_box.getSelectedItem().label;selectedItem = color_box.getSelectedIndex();}  6.现在编写 initValues 函数。这将用用户以前选择的值初始化表单1中的值。当用户单击“返回”按钮时,它会运行。// 初始化pg 1function initValues() {sweepstakes_box.setValue(sweepstakes_result);if (!started) {color_box.setSelectedIndex(0);started = true;} else {color_box.setSelectedIndex(selectedItem);}}7.最后,在动作脚本的开头添加对 initValues 函数的调用。完成上述操作后,动作脚本应该是下面的样子: initValues();// push button callbackfunction onClick(btn) {if (btn == submit_btn) {getResults();gotoAndStop("pg2");} else if (btn == return_btn) {gotoAndStop("pg1");}}// initialize the values on pg 1 with the values the user has previously selectedfunction initValues() {sweepstakes_box.setValue(sweepstakes_result);if (!started) {color_box.setSelectedIndex(0);started = true;} else {color_box.setSelectedIndex(selectedItem);}}// get results from pg 1function getResults() {sweepstakes_result = sweepstakes_box.getValue();color_result = color_box.getSelectedItem().label;selectedItem = color_box.getSelectedIndex();}  用户已经完成了要在整个影片中运行的脚本。但是,仍然需要为表单1和表单2中的帧添加脚本。   为每一个关键帧添加动作脚本:  只有当用户选择特定的帧时,才需要执行某些动作脚本。要使动作脚本工作,需要给每个关键帧命名。   1.创建一个新层,并命名为 Frame Actions。选择第 1 帧,然后选择“插入/空白关键帧”菜单命令来插入一个空白关键帧。使用属性检查器将关键帧命名为 pg1。用同样的方式,在第 6 帧中插入一个关键帧,并命名为 pg2。  2.在 Frame Actions 层的第 1 帧中选择关键帧,并编写下面的动作脚本以在第 1 帧 (pg1) 停止影片。stop();  3.(可选)如果想在用户选择了复选框时显示某一文本,而在用户未选择时显示其它文本,可以编写一条带有文本的条件语句,将其插入表单2的 sweepstakes_text 动态文本字段。在 Frame Actions 层中选择名为 pg2 的关键帧,并在“动作”面板中写入以下内容:// sweepstakes textif (sweepstakes_result==true) {sweepstakes_text = "You have been entered in the Stiletto Fantasy sweepstakes. Winners are announced at the end of each month.";} else {sweepstakes_text = "You have not been entered in the Stiletto Fantasy sweepstakes.";}  注意:不要剪切此动作脚本并将其粘贴到“动作”面板。它不会正确运行,因为在第 1 行和第 2 行的文本之间有分行符。  测试影片   完成上面的所有工作后,还需要对影片进行测试,以检查影片是否工作正常.  1.选择“控制/测试影片”菜单命令,影片即可在 Flash Player 中运行。  2.通过在表单中选择和不选择复选框来确定表单是否工作。  3.从组合列表框中选择一种颜色,以确定是否出现第2个表单。  4.完成测试后,在播放器中选择“文件/关闭菜单”命令来关闭影片。  5.如果发现有任何错误,请使用箭头工具来选择组件,然后在属性检查器中进行纠正,如果需要,重新测试影片。

5 次浏览
Flash制作环形文字
Flash制作环形文字

经常使用Flash的朋友都知道,想要在动画中加一个环行文字的效果,其制作步骤是非常繁琐的,但是又要经常用到,该怎么办呢?别着急,现在来教大家制作一个环行文字生成器,只要把这个好东东做好了,以后可以生成任意文字的环行文字,可谓是一次付出,万次回报。(本例的源文件请点击这里下载)环形文字生成器的主界面非常简洁,只有一个文本框和一个按钮,如图1所示:图1   你只需要在上面的文本框中输入想生成的环形文字的文本,然后按一下右面的OK按钮,就会在下面自动生成相应的环行文字,比如我们输入”Flash”这几个字母,那么生成的环形文字如图2所示:图2  看到这么奇妙的东东,你是不是也跃跃欲试了,别着急,一起来跟我制作吧:)  1.首先启动Flash,新建一个影片,设置影片大小为500px*300px(单位为象素),影片背景色随你的喜好设置即可。  2.首先制作文字所环绕的路径。新建一个影片剪辑元件,使用椭圆工具和直线工具绘制一个无填充色的半圆,这个半圆弧将作为生成的环行文字的环绕路径,如图3所示:图3  3.接下来制作一个按钮,具体的样式和风格可以根据您的需要来设置,这里我们绘制图4所示的按钮:图4  4.然后需要制作一个文本框,而且这个文本框要制作成动态的,因为这个文本框中的文本会随着我们所输入的文字而改变,并且这个文本框中的文字会显示为环形的,在属性中设置为动态文本框后,还需要给文本框设置一个变量名text,以便我们可以使用Action动作脚本对其中的文本进行控制,如图5所示:图55.接下来回到主场景中,对主场景进行布置。首先在舞台上方绘制一个文本框,并设置其类型为输入文本,然后设置其变量名为inputtext,然后将前面制作好的按钮拖到其右边,最后分别将半圆和动态文本框拖到舞台中,并且使动态文本框位于半圆直径的最左边,分别设置半圆和动态文本框的实例名为arc和letter0,并将时间轴延长到第10帧,最后整个舞台如图6所示:图6  6.因为环形文字是在点击按钮后生成的,所以需要将Action动作脚本加在按钮上,具体的脚本如下所示;on (press) {for (x=1; x<=100; x++) { removeMovieClip("letter" + x);}}//当按下按钮时,清除上一次所生成的环形文字,为当前生成环形文字做准备,x的最大值取100,表示在输入文本框中最多可以输入100个字符on (release) {textLength = _root.inputText.length-1;//设置变量textLength的值为输入文本框所输入的文本各数减一diameter = _root.arc._width;//取得半圆的直径radius = _root.arc._height;//取得半圆的半径_root.letter0.text = _root.inputText.substr (0,1);//取所输入的文本的第一个字符//下面的循环将增加其余的字符,并将其排列成弧形for (x=1; x<=textLength; x++) {//循环次数为输入文本框中的字符数_root.letter0.duplicateMovieClip("letter"+x, x);//复制出一个动态文本框with (_root["letter"+x]) {//对复制出的动态文本框进行如下的操作_x += radius-(Math.cos ( Math.PI/textLength * x))*radius;_rotation += x*(180/textLength);_y += -(Math.sin ( Math.PI/textLength * x))*radius;//分别设置复制出的动态文本框的坐标和旋转角度,使其位于半径的圆弧上text = _root.inputText.substr (x,1);//最后设置此动态文本框中的文本为输入文本框中的下一个字符}}}  最后发布影片,试一试吧,是不是可以随心所欲的制作出你想要的环形文本了,如果在你平时的动画制作中合理的使用这个小工具,可以在一定程度上提高你的工作效率,真正做到事半功倍。

7 次浏览
了解在Flash中的编程工作
了解在Flash中的编程工作

第十八章 了解在Flash中的编程工作  妈妈,这扇大门好雄伟好辉煌啊,它通向哪里?  宝贝,它通向编程的世界,那是充满魔法的世界,进入那里,你将成为伟大的魔法师。  经历了此前整整十七章的学习,我们终于来到了编程世界的大门,大门敞开着,显然,它一直在等待我们的到来。18.1 像软件设计师那样思考问题  我相信你们中有很多人只有很少或完全没有编程基础,否则,你就不会选择我写的这本《第一步》了。我们已经知道,在Flash中使用ActionScript编写脚本,与使用其他语言编程没有什么不同。而要最终锻炼成一名出色的软件设计师,你要做的第一件事就是要时刻提醒自己要像一个软件设计师那样来思考问题。18.1.1 不要总想着逃避编程  对于在Flash中的编程而言,要做到像软件设计师那样来思考问题,最重要的一点就是不要总想着通过逃避编程来实现你的想法,很多人总是想方设法试图用非编程的手段来完成他所面对的一切问题,为此,他可以不惜代价,可以花费大量的时间,他会想出数不清的绕过编程的变通方法,如果这些方法也可以被称为算法的话,绝对会令许多软件设计师吃惊。  实际上,在很多时候,使用编程的方法可以被非编程的方法节省大量的时间,而且会产生更为真实的效果。很典型的一个例子就是表现各种随机运动,例如,大量雪花的飘落、鱼的游动。18.1.2 认真的编写设计说明书

6 次浏览
在List组件中使用渲染器
在List组件中使用渲染器

在网上看过很多人转载darronschall的 LabelCellRenderer 例子,其中有个错误,把myList.cellRenderer = "LabelCellRenderer";这行代码放到了注释里面去了,但是到处转载的依然没有修正(其实原文是正确的)。其实看了这个我们并没有求甚解,要知道授人予鱼,不如授人予渔。我们再来看下为什么通过cellrenderer可以给List、DataGrid、Tree 和 Menu 组件以及其它列表组件增强单元格内容显示。 我们首先要从List组件开始分析,List 类至关重要。DataGrid、Tree 和 Menu 组件是 List 类的扩展。List 类由行构成。这些行显示滑过和选区突出显示,用作行选区的点击状态,并在滚动中扮演重要的角色。除了选区突出显示和图标(如节点图标和 Tree 组件的展开箭头)之外,行还包含一个单元格(或者,如果是 DataGrid,则包含多个单元格)。在默认情况下,这些单元格是实现 CellRenderer API 的 TextField 对象。但是,您可以让 List 使用不同的组件类作为每一行的单元格。唯一的要求是该类必须实现 List 用于与单元格通信的 CellRenderer API。List 类使用一种非常复杂的算法进行滚动。一个列表只会列出它一次能显示的最多行数,超出 rowCount 属性的值的项目根本不会获得行。在列表滚动时,它会将所有行上下移动(取决于滚动方向)。然后,列表将重复使用滚出视图的行;列表会重新初始化这些行,并使用它们作为正在滚入视图的新行,方法是将旧行的值设置为视图中的新行,然后将旧行移到新项目滚入视图的位置。要使用 CellRenderer API,您必须编写包含下面四个方法的类CellRenderer.getPreferredHeight() 返回单元格的首选高度CellRenderer.getPreferredWidth() 返回单元格的首选宽度CellRenderer.setSize() 设置单元格的宽度和高度CellRenderer.setValue() 设置要显示在单元格中的内容基于列表的组件将使用该类与单元格通信。这就是我们看到的darronschall定义的LabelCellRenderer类。系统将为单元格自动指定两个方法和一个属性

9 次浏览
FLASH中响应键盘事件的四种方法
FLASH中响应键盘事件的四种方法

响应键盘的方法作为AS中的一个重要组成部分,在如今已经越来越广泛的使用,尤其是在 FLASH游戏制作中,如果缺少了响应键盘的方法,那是不可能的,而响应键盘的方法主要的四种,分别是:1、利用按钮进行检测2、利用KEY对象3、利用键盘侦听的方法4、利用影片剪辑的keyUp和keyDown事件来实现响应键盘只有熟练掌握了这些方法,然后加以变通的话,就会得到很多意想不到的效果,下面我就结合理论和自己的想法简要的介绍一下。第一种响应键盘的方法:利用按钮进行检测来实现响应键盘在按钮的on事件处理函数中不但可以对鼠标事件作出响应,而且可以对键盘事件作出响应。 如在按钮的动作面板中加入如下所示的代码,在敲击键盘上的X键时输出窗口中将提示:X is pressed在按钮上加上:on (keyPress "x") {  trace("X is pressed");}但是要注意的是:检测键盘上的字母键时,字母都应为小写。如果要检测键盘中的特殊键, Flash中有一些专门的代码来表示它们,下面列出了一些常用的功能键的表示代码:<Left> <Right> <Up> <Down> <Space <Home> <End> <Insert> <PageUp> <PageDown><Enter> <Delete> <Backspace> <Tab> <Escape>如要检测键盘上的<Left>键,可以使用下面的ActionScript:on (keyPress "<Left>") {trace("Left is pressed");}

7 次浏览
共计26043条记录 上一页 1.. 451 452 453 454 455 456 457 ..2605 下一页