当我们进入游戏时,是不可能看到所有的图像的,很多图像都是随着游戏功能的打开而出现,
比如只有我打开了“宝石”菜单才会显示宝石的图像,如果是需要显示的时候才加载,
会对用户体验大打折扣,假如用户的手机信号不太好,那么点击菜单将一片空白,
这不是我们希望的效果,只有一种情况是临时加载,就是不可预见的图像,比如排行榜,
我并不知道我刷新一下排行榜会有哪些人会排到前10名,那么只有通过临时加载这些人的头像才能正确显示,
这在后续的教程中会讲解,其余游戏本身的图像都是可预见的,我们通过运用游戏载入读条的类,一次性将素材全部加载,并显示Loading效果。
定义全局图像数组,存入要加载的图像:
var loadData = [
{name: "bbtn", path: "images/bbtn.png"},
{name: "bg", path: "images/bg.jpg"},
{name: "gongjili", path: "images/gongjili.png"},
{name: "gwhps", path: "images/gwhps.png"},
{name: "gwhpsbg", path: "images/gwhpsbg.png"},
{name: "headborder", path: "images/headborder.png"},
{name: "jinbi", path: "images/jinbi.png"},
{name: "rbtn", path: "images/rbtn.png"},
{name: "userinfo", path: "images/userinfo.png"},
{name: "zuanshi", path: "images/zuanshi.png"},
];
官方一共提供7种加载效果,LoadingSample1至LoadingSample7,也可以自己写一个读条类,官方API文档:
http://www.lufylegend.com/api/zh_CN/out/classes/LLoadManage.html
将教程(三)中main方法的加载图像方法删除 用读条类加载,实例化一个读条类,
function main() {
//游戏全屏显示,自适应屏幕
LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
LSystem.screen(LStage.FULL_SCREEN);
//居中
LGlobal.align = LStageAlign.TOP_MIDDLE; //加载Loading类读取图片,这里注意:loadingLayer是全局变量 并没有用var关键字声明
loadingLayer = new LoadingSample5();
addChild(loadingLayer);
LLoadManage.load(loadData, function (progress) {
loadingLayer.setProgress(progress);
}, gameInit);
}
其中gameInit 代表加载完毕后要执行的方法,图象加载完毕后,我们定义1个gameInit 方法来显示背景图片,
function gameInit(result) { //将图像集结果赋值给数组并移除读条界面
loadData = result;
removeChild(loadingLayer);
loadingLayer = null; //新建一个背景层,添加到Canvas画布
BGDiv = new LSprite();
addChild(BGDiv); //将图像信息从数组中取出赋值给图像数据变量
var bitmapData = new LBitmapData(loadData["bg"]);
//将图像信息赋值给一个图像
var bgmapimg = new LBitmap(bitmapData);
//添加图像到背景层
BGDiv.addChild(bgmapimg); }
这样我们就完成了一次性加载所有图像,以后在使用时就可以直接通过数组取图像: loadData ["图像名称"]
运行一下代码,是不是感觉有点游戏的味道了,如果电脑配置比较好读取较快看不到效果的话,
可以设置一个错误的图片路径,永远读取不到的话就会停留在读条界面,就可以看到效果了。
本篇源代码+素材 下载地址:http://pan.baidu.com/s/1cEbn90
下一篇我们将讲解 游戏界面布局与性能优化
使用Html5+C#+微信 开发移动端游戏详细教程 :(五)游戏图像的加载与操作的更多相关文章
-
使用Html5+C#+微信 开发移动端游戏详细教程 总目录
(一).序(关于作者创业失败的感想) (二).准备工作&开发环境 (三).使用html5引擎搭建游戏框架 (四).游戏中层的概念与设计 (五).游戏图像的加载与操作 (六).游戏界面布局与性能 ...
-
使用Html5+C#+微信 开发移动端游戏详细教程: (四)游戏中层的概念与设计
众所周知,网站的前端页面结构一般是由div组成,父div包涵子div,子div包涵各种标签和项, 同理,游戏中我们也将若干游戏模块拆分成层,在后续的代码维护和游戏程序逻辑中将更加清晰和便于控制. We ...
-
使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架
教程里的案例我们是通过H5游戏引擎开发,目前H5的游戏引擎比较好用的是白鹭,不过对于新手来说白鹭的开发环境和工具使用过于复杂,这里推荐一个国内大神编写的游戏引擎:lufylegend. 直接在页面引入 ...
-
使用Html5+C#+微信 开发移动端游戏详细教程 :(一)序(关于作者创业失败的感想)
说起梦想,我清楚的记得2012年7月初毕业,拿到毕业证书的那天果断买好了次日南下去深圳的绿皮火车票,500多块,26个小时车程.第二天就拖上行李到了深圳. 一开始的想法仅仅是过去想见见世面,学习点新技 ...
-
使用Html5+C#+微信 开发移动端游戏详细教程:(六)游戏界面布局与性能优化
本篇教程我们主要讲解在游戏界面上的布局一般遵循哪些原则和一些性能优化的通用方法. 接着教程(五),我们通过Loading类一次性加载了全部图像素材,现在要把我们所用到的素材变成图片对象显示在界面上,由 ...
-
使用Html5+C#+微信 开发移动端游戏详细教程 :(二)准备工作&;开发环境
C#开发环境:VS2013; H5开发环境:WebStorm; 数据库:mysql+navicat管理工具: 操作系统:win7: 调试:chrome浏览器 如果想在微信端上线运营游戏请做好以下准备工 ...
-
AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&;Promise&;Resolve解决图片预加载问题(后记)
AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...
-
iOS开发 XML解析和下拉刷新,上拉加载更多
iOS开发 XML解析和下拉刷新,上拉加载更多 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示 ...
-
vue2.0 移动端,下拉刷新,上拉加载更多插件,修改版
在[实现丰盛]的插件基础修改[vue2.0 移动端,下拉刷新,上拉加载更多 插件], 1.修改加载到尾页面,返回顶部刷新数据,无法继续加重下一页 2.修改加载完成文字提示 原文链接:http://ww ...
随机推荐
-
【团购活动】接口最全最好用的S5PV210开发板Sate210-F 开发板开始团购活动了,一起学习linux!
接口最全最好用的S5PV210开发板Sate210-F 开发板开始团购活动了,一起学习linux!http://bbs.eeworld.com.cn/forum.php?mod=viewthread& ...
-
TestLink学习四:TestLink1.9.13使用说明
前言 测试管理工具,是指用工具对软件的整个测试输入.执行过程和测试结果进行管理的过程.可以提高回归测试的效率.大幅提升测试时间.测试质量.用例复用.需求覆盖等. TestLink用于进行测试过程中的管 ...
-
序列GCD和问题(题目)
序列GCD和 题目描述 Massacc有一个序列$A_1,A_2,A_3,\dots ,A_n$. Popbab说:我要知道这个序列的和$\pmod{1\times10^9+7}$. Massacc在 ...
-
Microsoft.Practices.EnterpriseLibrary.Logging的使用
翻译 原文地址:http://www.devx.com/dotnet/Article/36184/0/page/1 原文作者:Thiru Thangarathinam (好强大的名字) 翻译: fl ...
-
(转)iOS中3种正则表达式的使用与比较
.利用NSPredicate(谓词)匹配 例如匹配有效邮箱: NSString *email = @“nijino_saki@.com”: NSString *regex = @"[A-Z0 ...
-
研磨设计模式解析及python代码实现——(一)简单工厂模式
最近在学设计模式,正巧书之前学了些python,但用的还不是很成熟.<研磨设计模式>书上只给了java代码,本着以练手为目标,我照着书上打了一遍java代码,在仔细体会其思想后,将其写成了 ...
-
CSS学习笔记:文本换行显示(word-wrap)
在CSS3中新定义了文本换行属性,word-wrap: nomal属性值表示控制连续文本换行. break-word属性值表示内容将在边界内换行.如果需要,词内换行(word-break)也会发生. ...
-
js获取后台json数据显示在jsp页面元素
jsp id <font size=2 >Today:</font> <font id ="todaytotal" size=2 color=&quo ...
-
[编译] 3、在Linux下搭建51单片机的开发烧写环境(makefile版)
星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...
-
ASP.NET MVC从视图传参到控制器的几种形式
1. 传递数组 $(function () { var value = ["C#", "JAVA", "PHP"]; $("inp ...