问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用Flash的ActionScript2.0编程,想做同一个简单按钮的集体复制,请问这个程序要如何编写?急求~~~

发布网友 发布时间:2022-04-20 03:40

我来回答

3个回答

懂视网 时间:2022-04-20 08:02

第七篇,自定义按钮


这次弄个简单点的,自定义按钮。
其实,有了前面所定义的LSprite,LBitmap等类,定义按钮就很方便了。
下面是添加按钮的代码,

function gameInit(event){ 
 backLayer = new LSprite(); 
 addChild(backLayer); 
 
 btn01 = new LButton(new LBitmap(new LBitmapData(imglist["replay_button_up"])),new LBitmap(new LBitmapData(imglist["replay_button_over"]))); 
 btn01.x = 76; 
 btn01.y = 50; 
 backLayer.addChild(btn01); 
 
 btn02 = new LButton(new LBitmap(new LBitmapData(imglist["quit_button_up"])),new LBitmap(new LBitmapData(imglist["quit_button_over"]))); 
 btn02.x = 76; 
 btn02.y = 100; 
 backLayer.addChild(btn02); 
 
 btn01.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown01); 
 btn02.addEventListener(LMouseEvent.MOUSE_DOWN, onmousedown02); 
} 
function onmousedown01(event){ 
 alert("btn01 on click"); 
} 
function onmousedown02(event){ 
 alert("btn02 on click"); 
}

原理:建立一个继承自LSprite的LButton类,给按钮设定两个图片,然后侦听鼠标位置,当鼠标移动到按钮上的时候,变换按钮状态,就是一个简单的按钮。


这里,我用mousemove来侦听鼠标位置,给LGlobal类添加一个buttonList数组,当创建按钮的时候,把按钮加入到buttonList,然后当移动鼠标的时候,就可以从buttonList数组判断鼠标是否在按钮上,然后当按钮被删除后,将按钮从buttonList数组中删除。


一些修改:
1,修改LSprite类,添加die方法,每个LSprite当被removeChild的时候,调用自己的die方法,die方法里放一些被移除是必需处理的事件,比如这次的按钮,要从buttonList中删除。
2,给每个构造器添加objectindex,用来区分每个对象。
3,修改addChild方法,添加DisplayObject.parent = self,就是给每个自对象指定父级对象。


准备完毕,开始创建按钮类LButton。

function LButton(bitmap_up,bitmap_over){ 
 base(this,LSprite,[]); 
 var self = this; 
 self.type = "LButton"; 
 self.bitmap_up = bitmap_up; 
 self.addChild(bitmap_up); 
 if(bitmap_over == null){ 
 bitmap_over = bitmap_up; 
 }else{ 
 self.addChild(bitmap_over); 
 } 
 self.bitmap_over = bitmap_over; 
 
 
 self.bitmap_over.visible = false; 
 self.bitmap_up.visible = true; 
 LGlobal.buttonList.push(self); 
} 
 
 
LButton.prototype.buttonModeChange = function (){ 
 var self = this; 
 var cood={x:0,y:0}; 
 var parent = self.parent; 
 while(parent != "root"){ 
 cood.x += parent.x; 
 cood.y += parent.y; 
 parent = parent.parent; 
 } 
 if(self.ismouseon(LGlobal.mouseMoveEvent,cood)){ 
 self.bitmap_up.visible = false; 
 self.bitmap_over.visible = true; 
 }else{ 
 self.bitmap_over.visible = false; 
 self.bitmap_up.visible = true; 
 } 
} 
LButton.prototype.die = function (){ 
 var self = this; 
 arguments.callee.super.die.call(this); 
 for(var i=0;i<LGlobal.buttonList.length;i++){ 
 if(LGlobal.buttonList[i].objectindex == self.objectindex){ 
  LGlobal.buttonList.splice(i,1); 
  break; 
 } 
 } 
}

热心网友 时间:2022-04-20 05:10

做一个具有发散效果的小影片剪辑,然后复制多个这样的影片剪辑并铺满整个舞台,就能实现较好的鼠标效果。
你应该用循环的嵌套去实现复制并平铺的功能。留个邮箱地址,我可以做个例子给你。
我修改了一下原来的代码,如下:

stop();
//xnum为列数,ynum为行数。修改xnum和ynum的值就可以了。
var xnum:Number = 20;//复制20列;
var ynum:Number = 20;//复制20行;
var vspace:Number = 20;//复制的影片剪辑垂直间隔
var hspace:Number = 20;//复制的影片剪辑水平间隔
for (var i:Number=1; i<=xnum; i++){
for (var j:Number=1; j<=ynum; j++){
plicateMovieClip(a_mc, "mc"+((i-1)*ynum+j), (i-1)*ynum+j);
eval("mc"+((i-1)*ynum+j))._y = a_mc._y + vspace * (j-1);
eval("mc"+((i-1)*ynum+j))._x = a_mc._x + hspace * (i-1);
eval("mc"+((i-1)*ynum+j)).onRollOver = function(){
this.play();
}
}
}
a_mc._visible = false;

热心网友 时间:2022-04-20 06:28

你现在是写出了横向排列了,不会写纵向排列,那我按你的思路给出纵向排列的方法。
a_mc._visible = false;//要复制a_mc,把它隐藏。
startP = {x:70, y:50};//定义一个起点位置,你自己定
水平行距 = a_mc._width;//你的是30,就把这里改30,
垂直行距 = a_mc._height;//这个你需要多少就改多少
复制总数 = 30;
列数 = 5;
for (var i = 1; i<=复制总数; i++) {
plicateMovieClip(a_mc, "a_"+i+"_mc", i);
mc = _root["a_"+i+"_mc"];
mc.onRollOver = function() {
mc.gotoAndPlay(2);

};
mc._x = startP.x;
mc._y = startP.y;
startP.x += 水平行距;
if (i%列数 == 0) {//取模,模数为0的时候,说明这一行够数了,换行,这个是延续你的思路。
startP.x = 70;
startP.y += 垂直行距;
}
}
//例子需要发吗?
用Flash的ActionScript2.0编程,想做同一个简单按钮的集体复制,请问这个...

stop();//xnum为列数,ynum为行数。修改xnum和ynum的值就可以了。var xnum:Number = 20;//复制20列;var ynum:Number = 20;//复制20行;var vspace:Number = 20;//复制的影片剪辑垂直间隔 var hspace:Number = 20;//复制的影片剪辑水平间隔 for (var i:Number=1; i&lt;=xnum; i++...

如何用flash制作按钮

选择Flash文件(ActionScript2.0)3 4 选择“插入”—“新建元件”名称为“按钮”,类型选择“按钮”选择“弹起”帧,用“矩形工具”绘制一个矩形,并设这个矩形边框为“无”,类型为“放射线”,填充色为“红—黑”渐变。单击“指针经过”,右键选择“插入关键帧”选择“矩形”,把填充色改为“兰—...

flash如何使用actionscript让影片剪辑实现按钮一样的功能

除了要用添加鼠标滑入和滑出之外,都一样的,一样的添加鼠标点击事件,和按钮一样。

Flash8如何制作简单的画板程序

首先,确保你拥有支持AS2脚本的Flash8或Animate软件。打开软件,新建一个Flash文档,设置帧频为30fps。然后,使用矩形工具画出三个正方形,分别设置颜色为红色(0xff00ff),黑色(0x000000),和红色(0xff0000)。将它们转换为影片剪辑元件,实例名分别为c0, c1, c2,以便于颜色切换。接下来,创建一个清除...

flash cs6按钮制作实例1:简单按钮

打开FLASH CS6,单击“新建”下方“ActionScript 3.0”类型 。单击菜单"插入"“新建元件”(或按快捷键Ctrl+F8),在弹出的对话框中选择“按钮”元件类型并改名为按钮1。双击时间轴上图层1,将图层1命名为背景, 用矩形工具在场景中画一圆角矩形(大小160X60,边线#000000,填充#FFCCCC)。...

flash中用duplicateMovieClip复制出的按钮如何添加动作

一般是在母体上写好代码的 然后可以用相对的方法 如使用this._name 检测对应自己的名实现相应功能 处理字符串的类可以用String 自己在FLASH中按F1看看ActionScript2.0类 === 自动复制试验 for (i=1; i&lt;20; i++) { abc.duplicateMovieClip("abc"+i, i);_root["abc"+i]._x = random(640...

怎么用 Flash ActionScript 复制影片剪辑?

你这个是AS2.0的方法,现在不用这个复制了,现在用AS3.0;AS3.0的方式是用new 详细步骤是:在flash IDE中。打开库--新建元件---命名比如:newmc 在高级选项下面勾选:为ACTIONSCRIPT导出 自动会填上你的元件名为类名,继承自MovieClip,点“确定”会有一个警告框,点确定 然后在这个原件里面绘制...

一个简单的flash as2.0代码的意思和用法。

第一行说明这个代码是写在按钮或影片剪辑上的【因为用到了on】,设置为鼠标经过的时候触发下面的命令 概括的讲,就是加载库内的一个声音,然后播放这个声音。代码的关键是第三行的"a1"请打开你的库面板 以flashCS3为例:在音乐文件上点右键,选择“链接”【flash8没有这个链接,你需要选择属性 然后...

flash问题,都看看这条ActionScript2.0语句怎么写??

把按钮改成影片剪辑,按F9写代码 on(press) { getURL("跳转网页的地址");} on(rollOver) { gotoAndStop(2);} on(rollOut) { gotoAndStop(1);} 在这个影片里面的第1帧上写stop()就可以了

flash 代码怎么用

首先,将脚本添加到时间轴的帧上,你可以通过选中帧来操作。这些脚本,如stop(),控制着动画的播放流程,例如在特定帧上暂停动画。其次,对于舞台上的实例,比如元件复制出的按钮,你可以在每个实例上添加自己的脚本。比如,当按钮被点击(on(press))时,会执行预先设定的代码,实现特定的交互功能。深入...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
医生你好 我脸上跟额头上面长了很多小粉刺 请问这是什么原因引起的 要... 世界上到底是先有的鸡还是先有的蛋 请问是先有蛋,还是先有鸡? Excel怎么设置行高并且垂直 晚上梦见一条又长又小的青蛇追着咬我最后被我爸爸打死了代表什么... 专业技能怎么填我来教你 QQ空间曾经有一个左右接东西 小游戏叫什么名字 帽子先生接东西游戏介绍 趣味卡车接东西游戏介绍 怀孕50天B超的表现 幼i儿园年终工作总结有哪些形式 组织游泳等级考试流程? 谁有最新游泳考级的标准表。(要四种泳姿从少年级到健将级的) 小时候的游泳考级证长大后还有用吗? 游泳运动员等级标准 游泳几岁可以考级 游泳水平等级分为几个等级 关于过中秋节的作文 谁能帮我写一篇关于中秋节的作文?500字~要快! 一篇关于中秋节的作文,600字,不是复制的也不要写关于中秋节的来历的作文。。。。急啊!!!!!!!谢谢 急需一篇写中秋节放孔明灯作文 第一次看话剧要注意什么? 去国家大剧院看演出是否可以包括在剧院内参观?听众有着装要求么? 话剧表演应该注意什么 周总结和周计划怎么写 周总结计划怎么写范本 OH MY LADY所有插曲 lady gaga the fame part视频说的到底是什么啊 求翻译、不要软件翻啊、试过的、女士优先与绅士风度 在英国,尊重妇女是体现绅士风度的一个重要方面。女士 lady什么意思 家字少了宝盖头念什么 家的宝盖头是什么意思 “家”字的偏旁是什么? 血字下面一个家去掉宝盖头怎么读 家的偏旁是什么 土字旁,左右结构 右边上面是两竖杠,下面是家人的家去掉宝盖头 这个字用五笔怎么打。左边一个王,右边一个去掉宝盖头的家, “家”字的含义,为什么是宝盖头和豕组成? 急需一篇寒假总结!帮帮忙啊!偶老师明天就要啊! 汉唐汉动A3多少钱,质量好不好? 汉唐汉动A3+怎么样? 16年汉唐A3电动二手车多少钱 汉唐a3电动车72V多少钱? 零食饮料店名字大全 汉唐A3+ 是什么时候上市的 我是一名大学生,老师在寒假时发了一张社会实践活动考核表(以盖了小学公章),请大家帮我写一下个人小结 属羊几月几日几时出生最好 汉唐电动A3+怎么样? 汉唐a3电动汽车怎么样? 汉唐电动轿车a3启动原理