用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<=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<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))时,会执行预先设定的代码,实现特定的交互功能。深入...