Lufylenged引擎学习——LLoader、LBitmap

FPS(Frames Per Second):每秒传输帧数。

【代码练习】


LLoader类可用于加载图像(JPG、PNG或GIF)文件。使用load()方法来启动加载。

LLoader.load(‘URl‘,‘bitmapData‘);

LEvent COMPLETE  图片加载完成事件

loader.addEventListener(LEvent.COMPLETE,ybFuncName);

初始化 LBitmap 对象以引用指定的 LBitmapData 对象。LBitmap 类表示用于表示位图图像的显示对象。这些图像可以是使用 LLoader 类加载的图像,也可以是使用 LBitmap() 构造函数创建的图像。利用
LBitmap() 构造函数,可以创建包含对 LBitmapData 对象的引用的 LBitmap 对象。创建了 LBitmap 对象后,使用父实例的 addChild() 或 addChildAt() 方法将位图放在显示列表中。一个 LBitmap 对象可在若干 LBitmap 对象之中共享其 LBitmapData 引用,与转换属性或旋转属性无关。由于能够创建引用相同 LBitmapData 对象的多个 LBitmap 对象,因此,多个显示对象可以使用相同的复杂 LBitmapData 对象,而不会因为每个显示对象实例使用一个
LBitmapData 对象而产生内存开销。LBitmap 对象可通过以下两种方式之一将 LBitmapData 对象绘制到屏幕上:使用矢量渲染器作为填充位图形状,或使用更快的像素复制例程。像素复制例程的速度比矢量渲染器要快很多。注意:LBitmap 类不是 InteractiveObject 类的子类,因此它无法调度鼠标事件。但是,可以使用包含 LBitmap 对象的显示对象容器的 addEventListener() 方法。

画出十张图:

<script type="text/javascript">

var loader;

LInit(50,"mylegend",500,350,main);

function main() {

loader = new LLoader();

loader.addEventListener(LEvent.COMPLETE,loadBitmapdata);

loader.load(‘face.jpg‘,‘bitmapData‘);

}

function loadBitmapdata(event){

var bitmapdata = new LBitmapData(loader.content);

for (var i = 0; i < 10; i++) {

var name =  ‘bitmap‘+i;

console.log(name);

name = new LBitmap(bitmapdata);

name.x = 15*i+130;

name.y = 10*i;

addChild(name);

}

}

</script>

【实现了透明效果】  name.rotate
= i*10;

【实现旋转以及渐显效果代码】

     function loadBitmapdata(event){

var bitmapdata = new LBitmapData(loader.content);

for (var i = 0; i < 10; i++) {

var name =  ‘bitmap‘+i;

console.log(name);

name = new LBitmap(bitmapdata);

name.x = 20*i+50;

name.y = 15*i;

// 图片旋转

name.rotate = i*10;

//图片透明度设置为渐显

name.alpha = i*0.1;

addChild(name);

console.log(name);

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-29 08:29:24

Lufylenged引擎学习——LLoader、LBitmap的相关文章

Lufylenged引擎学习——LGraphics

(一)在一个LSprite上画一张图,new另一个Sprite进行图片的mask效果 ,效果如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <script type="text/javascript" src="../lufylegend-1.7.6.min.js"></script> </head&

Lufylenged引擎学习——LTextField

[ LTextField ]创建新的 LTextField 实例.在创建 LTextField 实例后,调用父 LSprite 对象的 addChild() 或 addChildAt() 方法可将 LTextField 实例添加到显示列表中. LTextField 类的方法允许您设置.选择并操作在创作过程中或运行时创建的动态或输入文本字段中的文本. (一)利用LTextField 实现文字样式的修改: LInit(1000/50,"mylegend",200,100,main); va

cocos2d-js引擎学习笔记

Scale9Sprite 在用Scale9Sprite.create的时候出现Uncaught TypeError: Cannot call method 'create' of undefined这个错误, 后来发现在默认情况下,project.json里的modules只自带cocos2d模块,通过检查frameworks/cocos2d-html5/moduleConfig.json,可以看到cocos2d模块里并没有CCScale9Sprite.js这个类. 它在GUI里,所以可以在mo

Razor引擎学习:RenderBody,RenderPage和RenderSection

RenderBody,RenderPage和RenderSection 1. RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到<body>标签里有这样一条语句: @RenderBody() 其实它的作用和母版页中的<contentplaceholder>服务器控件类似,当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@Ren

artTemplate模板引擎学习实战

在我的一篇关于智能搜索框异步加载数据的文章中,有博友给我留言,认为我手写字符串拼接效率过低,容易出错.在经过一段时间的摸索和学习之后,发现现在拼接字符串的方法都不在是自己去书写了,而是使用Javascript引擎.而javascript引擎的实质就是帮我们把带有JavaScript代码的伪THTML语句编译为HTML. 如果有不了解的朋友,可以前往这两篇文章: 淘宝购物车页面 PC端和移动端实战 淘宝购物车页面 智能搜索框Ajax异步加载数据 源码地址: GitHub:Uncle-Keith 回

DELPHI版传奇引擎学习菜鸟篇(applem2)-03

3.2 Gmain.pas单元 这是引擎控制台的主窗口,就是之前说的那个4500行代码的单元,对大神来说,这不算什么,对我看来说,光是理清里边的关系就很吃力.我知道也许从程序的架构角度去理解会好一些,但咱不懂那些,只好继续以一个菜鸟的方式按单元\按页面逐项查看,期待能获得一些营养. 接口部分也有近500行代码,虽然我是初学delphi,但也知道把所有的功能和定义都放到一个单元对以后维护带来很大不变,这份代码是谁写的我不清楚,但是至少不像比较标准的架构,除了重复的复制代码,就是一些嵌套的过程中的过

DELPHI版传奇引擎学习菜鸟篇(applem2)-06

引擎源代码的学习暂时放下了几天,因为需要掌握一些进程处理方面的消息,之前在GAMECENTER中的启动服务过程好好琢磨了一下,将服务启动过程单独拿出来,原先是用主界面的过程判断处理启动,好长的代码,终于提炼出来了一个通用启动过程,停止服务的过程和这个是类似的. {运行外部程序的函数} function RunProgram(var ProgramInfo: TProgram; sHandle: string; dwWaitTime: LongWord): LongWord; var Startu

DELPHI版传奇引擎学习菜鸟篇(applem2)-04

接着学习,从学习的过程中,我发现了这个引擎控制台的主要功能,这也是一行一行代码敲进去的结果,之前我对这个单元的功能了解的还是少,不知不觉中就发现了它主要实现的功能,对里边的代码理解也进了一步. 从我的理解它大概有如下功能: a.实现整个服务端的启动配置. b.进行数据更新,这里指的是对数据库(人物\物品\怪物…)的更新. c.服务端初始化(清理数据和M2的变量复位) d.启动所有服务并监控其运行状态. e.备份数据. 除了d,其他的都还容易理解,基本上拖拉控件写上事件就可以完成,唯独对服务进程进

DELPHI版传奇引擎学习菜鸟篇(applem2)-02

每天只学习一个知识点,也是一种进步. 接着学习GShare.pas的实现部分,其实这个应该叫做GAMECENTER共享单元,我刚开始理解的是错误的,这是根据名字起的. 在学习实现部分之前,声明部分还有一些变量: //虽然光看这些变量不可能全部知道带表什么,但是为了学习,还是注释一下 var //下面4个应该是更新数据(格式)用的,默认为本机更新 g_sDataListAddrs: string = '127.0.0.1'; g_wDataListPort: Word = 18888; g_sDa