• 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,图片处理,粒子效果等相关知识,匿名希望在学习及工作中可以帮助到您
第八篇,图片处理+粒子效果


用仿ActionScript的语法来编写html5系列开发到现在,应该可以做出一些东西了,下面先来研究下图片的各种效果
预览各种效果看下图

301.gif

效果和代码看这里,看不到效果的请下载支持html5的浏览器

http://fsanguo.comoj.com/html5/jstoas07/index.html

lufylegend.js引擎的下载链接

http://lufylegend.com/lufylegend

因为引擎封装后,对于之前的代码做了一部分调整,删去了一些属性,下面是我用新版引擎开发的同样的粒子效果

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>粒子效果</title>  
</head>  
<body>  
<div id="mylegend">loading......</div>  
<script type="text/javascript" src="http://lufylegend.com/js/lufylegend-1.6.1.min.js"></script>   
<script type="text/javascript">  
init(40,"mylegend",300,300,main);  
var imgData = [{name:"img",path:"http://lufylegend.com/images/face.jpg"}];  
var imglist;  
var mainBitmap,mainBitmapHeight;  
var windList = [];  
var backLayer;  
function main(){  
    LLoadManage.load(  
        imgData,  
        function(progress){},  
        loadover  
    );  
}  
function loadover(result){  
    imglist = result;  
    //加入一个LSprite对象  
    backLayer = new LSprite();  
    addChild(backLayer);  
    //加入一个LBitmap对象来显示一张大图片,将图片加载到backLayer对象上  
    mainBitmap = new LBitmap(new LBitmapData(imglist["img"]));  
    backLayer.addChild(mainBitmap);  
    //将LBitmap对象初始的高度保存起来  
    mainBitmapHeight = mainBitmap.getHeight();  
    //给LSprite对象加载一个贞事件,即时间轴  
    backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);  
}  
function onframe(){  
    var bitmapdata;  
    var bitmap;  
    var addY,addX;  
  
    if(mainBitmap){  
        //通过LBitmapData对象的setProperties函数,来修改LBitmapData对象显示图片的范围,每运行一次,显示范围在y轴方向上的起始位置向下移动addY个单位  
        addY = 3;  
        mainBitmap.y += addY;  
        if(mainBitmap.y >= mainBitmapHeight){  
            addY += mainBitmapHeight - mainBitmap.y;  
            mainBitmap.y = mainBitmapHeight;  
            //当LBitmapData对象显示图片的范围变为0之后,将其从backLayer上移除  
            backLayer.removeChild(mainBitmap);  
        }else{  
            mainBitmap.bitmapData.setProperties(0,mainBitmap.y,mainBitmap.getWidth(),(mainBitmapHeight - mainBitmap.y));  
        }  
        //下面是将图片一行一行的分解,每运行一次分解一行  
        var arr = [];  
        for(i=0;i<mainBitmap.getWidth();i += 3){  
            addX = 3;  
            if(i+addX > mainBitmap.getWidth()){  
                addX = mainBitmap.getWidth() - i;  
            }  
            //通过设定LBitmapData对象的显示范围,来得到分解后的小图片,并且将分解后的小图片压入到arr数组  
            bitmapdata = new LBitmapData(imglist["img"],i,mainBitmap.y-addY,addX,addY);  
            bitmap = new LBitmap(bitmapdata);  
            bitmap.x = i;  
            bitmap.y = mainBitmap.y-addY;  
            backLayer.addChild(bitmap);  
            arr.push(bitmap);  
        }  
        if(mainBitmap.y >= mainBitmapHeight)mainBitmap=null;  
        //将分解后的一行小图片压入windList数组  
        windList.push(arr);  
    }  
    windrun();  
}  
function windrun(){  
    var i,j,flag,ml=1;  
    //循环windList数组中的每一张小图片,随机向左上右等方向进行移动  
    for(i=0;i<windList.length;i++){  
        if(windList[i].length == 0){  
            windList.splice(i,1);  
            i--;  
            continue;  
        }  
        for(j=0;j<windList[i].length;j++){  
            if(windList[i][j].i == null)windList[i][j].i=1;  
            flag = Math.random();  
            if(flag < 0.3){  
                windList[i][j].x += ml*windList[i][j].i;  
            }else if(flag < 0.6){  
                windList[i][j].x -= ml*windList[i][j].i;  
            }else{  
                windList[i][j].y -= ml*windList[i][j].i;  
            }  
            windList[i][j].alpha -= 0.05;  
            windList[i][j].i += 2;  
            if(windList[i][j].alpha <= 0 || windList[i][j].x > LGlobal.width || windList[i][j].y > LGlobal.height){  
                backLayer.removeChild(windList[i][j]);  
                windList[i].splice(j,1);  
                j--;  
            }  
        }  
    }  
}  
</script>   
</body>  
</html>

测试连接

http://lufylegend.com/demo/astojs/8.html

以上就是用仿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-03H5新标签浏览器的兼容问题
  • 2018-12-03HTML5学习笔记简明版(10):废弃的元素和属性
  • 2018-12-03每天一个JS 小demo之滑屏幻灯片。主要知识点:event
  • 2018-12-03IE9对HTML5中部分属性不支持的原因分析_html5教程技巧
  • 2018-12-03利用JS实现点击按钮后图片自动切换的简单方法
  • 2018-12-03HTML5内联SVG教程以及与Canvas的区别
  • 2018-12-03网页的分页下标生成代码(PHP后端方法)
  • 2017-08-06html5指南-7.geolocation结合google maps开发一个小的应用
  • 2017-08-06HTML5验证以及日期显示的实现详解
  • 2018-12-03移动站如何使用?总结移动站实例用法

文章分类

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

最近更新的内容

    • HTML5-Web Storage APIs的简述
    • 详解HTML5中download属性的应用_html5教程技巧
    • HTML5 SVG响应式路径过渡动画幻灯片特效
    • 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)
    • html5构建触屏网站之网站尺寸探讨
    • 谷歌浏览器小字体处理方案即12px以下字体_html5教程技巧
    • HTML5.1 里的新东西
    • html5 worker 实例(二) 图片变换效果
    • HTML5 canvas画布详解(一)
    • html5中创建和返回新的文本轨道的方法

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

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