• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 用仿ActionScript的语法来编写html5——第七篇,自定义按钮

用仿ActionScript的语法来编写html5——第七篇,自定义按钮

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含ActionScript,html5,自定义按钮等相关知识,匿名希望在学习及工作中可以帮助到您
第七篇,自定义按钮


这次弄个简单点的,自定义按钮。
其实,有了前面所定义的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;  
        }  
    }  
}

以上就是用仿ActionScript的语法来编写html5——第七篇,自定义按钮的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • 用仿ActionScript的语法来编写html5——终篇
  • 用仿ActionScript的语法来编写html5——第九篇,仿URLLoader读取文件
  • 用仿ActionScript的语法来编写html5——第八篇,图片处理+粒子效果
  • 用仿ActionScript的语法来编写html5——第七篇,自定义按钮
  • 用仿ActionScript的语法来编写html5——第六篇,TextField与输入框
  • 用仿ActionScript的语法来编写html5——第五篇,Graphics绘图
  • 用仿ActionScript的语法来编写html5——第四篇,继承与简单的rpg
  • 用仿ActionScript的语法来编写html5——第二篇,利用Sprite来实现动画
  • 用仿ActionScript的语法来编写html5——第一篇,显示一张图片
  • 如何 精通各种Web前端技术?

相关文章

  • 2018-12-03HTML5 可以做微信类产品吗?
  • 2017-08-06HTML5地理定位实例
  • 2018-12-03node.js中文件之间的引入教程实例
  • 2018-12-03canvas游戏开发学习之八:基本动画
  • 2018-12-03HTML5 Canvas实现文本对齐的方法总结_html5教程技巧
  • 2017-08-06HTML5 Canvas之测试浏览器是否支持Canvas的方法
  • 2018-12-03微软也看好 HTML5,这会影响到微软自己的 Silverlight 的前景吗?
  • 2018-12-03HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用_html5教程技巧
  • 2018-12-03html5实现的便签特效(实战分享)_html5教程技巧
  • 2018-12-03HTML5制作基于模拟现实物理效果的游戏

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)的详情介绍
    • HTML5中使用postMessage实现Ajax跨域请求的方法_html5教程技巧
    • 揭秘谷歌AMP项目:google amp是如何提高网页加载速度的?
    • 有关摇摆的文章推荐
    • 移动端通过HTML5实现文件上传功能
    • html5实现一个简单的多人飞机游戏实例详解
    • 如何使用HTML5 Shiv解决IE不兼容HTML5标签的方法
    • 移动端Touch事件与H5-Canvas像素点检测实现刮刮乐
    • 用HTML5.0制作网页的教程
    • html5 canvas绘制矩形和圆形的实例代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有