flash小技巧备忘

前言:flash小技巧备忘

======================================================================================

卸载拖入舞台的MC
我们知道只有动态创建的mc才可以使用removeMovieClip()方法来卸载,帮助中对removeMovieClip方法的说明如下:
Quote 
删除用 duplicateMovieClip()、MovieClip.duplicateMovieClip() 或
MovieClip.attachMovie() 创建的影片剪辑实例。
下面的技巧可以让我们随心所欲的卸载你需要的MC,即使是你拖入舞台的组件等。

1 : My_mc.swapDepths(100);//把mc的深度值设定为大于0的值
2 : My_mc.removeMovieClip();//这样就可以正常卸载mc了
是不是很有用哦。
PS:使用my_mc.unloadMovie() 以可以删除mc实例,但是却保留了实例属性和剪辑处理函数。用removeMovieClip() 可以删除实例(包括其属性和剪辑处理函数)。


TextFormat.URL
很多人都知道使用textField.htmlText来写超文本的方式,可是似乎很少人知道其实我们还可以使用TextFormat.URL来定义。

1 : myFormat = new TextFormat();
2 : myFormat.url = http://www.google.cn;
3 : my_txt.html = true; //这是必须的 
4 : my_txt.htmlText = "kaikai";
5 : my_txt.setTextFormat(myFormat); 


鼠标光标
多数情况下,需要用到鼠标光标在主场景中的位置,所以可以使用_root._xmouse和_root._ymouse表示。
    onClipEvent (enterFrame) {
      _x = _root._xmouse;
      _y = _root._ymouse;
      }//让影片剪辑和鼠标保持相同坐标


将矩形影片剪辑作为遮罩图形
  在矩形影片剪辑的动作面板中添加如下ActionScript:
        onClipEvent (load) {
        xs = _width;
        ys = _height;
        }
        onClipEvent (enterFrame) {
        _xscale = 100*(_root._xmouse-_x)/(xs/2);
        _yscale = 100*(_root._ymouse-_y)/(ys/2);
        }
      在load事件中,用变量xs和ys取得影片剪辑初始状态下的宽度和高度值。在enterFrame事件中,计算鼠标位置与矩形影片剪辑中心     的距离,算出它与矩形宽度和高度值的比值,然后作为_xscale和_yscale的值。该动画实现移动鼠标位置以改变遮罩效果


鼠标双击问题! 
lsn_DbClick = new Object(); 
lsn_key = new Object(); 
lsn_DbClick.onMouseDown = function() { 
clickTime = getTimer(); 
if (clickTime-lastClickTime<=300) { 
trace("双击了鼠标"); 

lastClickTime = clickTime; 
}; 
Mouse.addListener(lsn_DbClick); 
time = getTimer()-down_time; 
if (time<300) { 
//双击后的代码部分 

down_time = getTimer(); 
怎样在从另一个swf中获取变量 
          
loadMovieNum("vars.swf", 1["POST"]); 
_root.onEnterFrame = function() { 
trace(_level1.myvab); 
}; 
//当加载完毕后,输出就有值了... 
        

鼠标右键及滚轮的代码


            if Key.isDown(2){},(左键的代码是1) 
        
        左键:Key.isToggled(1) 
        右键:Key.isToggled(2) 
        滚轮:Key.isToggled(4) 
        滚轮1:Key.isToggled(4) PC机上用 
        滚轮2:Key.isToggled(3) MAC机上用 
        未知:Key.isToggled(3) 
  this.onEnterFrame = function() { 
  if (Key.isDown(2)){ 
  trace("asdfjsdjkf"); 
  } 
  } 


显示帧速
function get_fps() {
    var a = this.createEmptyMovieClip("fps_show", 100000);
    a.createTextField("fps_text", 0, 0, 0, 16, 18);
    a.fps_text.background = true;
    a._fps = 0;
    a.oldtim = getTimer();
    a.onEnterFrame = function () {
        this._fps = Math.round(1000 / (getTimer() - this.oldtim));
        this.oldtim = getTimer();
        this.fps_text.text = this._fps;
    };
}
get_fps();

显示时间
function get_time() {
var a = this.createEmptyMovieClip("time_show", 200412);
a.createTextField("time_text", 0, 0, 0, 140, 18);
    a.time_text.background=true;
a.onEnterFrame = function () {
this.time_text.text = new Date().getFullYear()+"年"+new Date().getMonth()+"月"+new Date().getDay()+"日"+new Date().getHours()+":"+new Date().getMinutes()+":"+new Date().getSeconds();
};
}
get_time();

将十进制数N转换成d进制:N=(N div d)*d + N mod d
function jh_conversion(N, d) {
    var s = [], e="";
    while (N>0) {
        s.push(N%d);
        N = Math.floor(N/d);
    }
    while (s.length>0) {
        e += s.pop();
    }
    trace(e);
    return e;
}

AS填充,并获得填充区点阵
function get_fill(mc){
    var s_j=mc._x;
    var e_j=mc._x+mc._width;
    var s_i=mc._y;
    var e_i=mc._y+mc._height;
    //
    var a=mc.createEmptyMovieClip("fill",1);
    var fill_data=[];
    for(var i=0;i<100;i++){
        fill_data[i]=[];
        for(var j=0;j<25;j++){
            if(mc.hitTest(i,j,true)){
                a.lineStyle(1,random(0xffffff));
                a.moveTo(i,j);
                a.lineTo(i+.5,j);
                fill_data[i][j]=1;
            }else{
                fill_data[i][j]=0;
            }
        }
    }
    for(var i in fill_data){
        fill_data[i]=fill_data[i].join("");
    }
    fill_data=fill_data.join(",");
    trace(fill_data);
    return fill_data;
}

简单代码实现MC与鼠标成反向移动
onEnterFrame = function(){
    a._x+=(270-_xmouse)*.01;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值