当我们进入游戏时,是不可能看到所有的图像的,很多图像都是随着游戏功能的打开而出现,

比如只有我打开了“宝石”菜单才会显示宝石的图像,如果是需要显示的时候才加载,

会对用户体验大打折扣,假如用户的手机信号不太好,那么点击菜单将一片空白,

这不是我们希望的效果,只有一种情况是临时加载,就是不可预见的图像,比如排行榜,

我并不知道我刷新一下排行榜会有哪些人会排到前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#+微信 开发移动端游戏详细教程 :(五)游戏图像的加载与操作的更多相关文章

  1. 使用Html5+C#+微信 开发移动端游戏详细教程 总目录

    (一).序(关于作者创业失败的感想) (二).准备工作&开发环境 (三).使用html5引擎搭建游戏框架 (四).游戏中层的概念与设计 (五).游戏图像的加载与操作 (六).游戏界面布局与性能 ...

  2. 使用Html5+C#+微信 开发移动端游戏详细教程: (四)游戏中层的概念与设计

    众所周知,网站的前端页面结构一般是由div组成,父div包涵子div,子div包涵各种标签和项, 同理,游戏中我们也将若干游戏模块拆分成层,在后续的代码维护和游戏程序逻辑中将更加清晰和便于控制. We ...

  3. 使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架

    教程里的案例我们是通过H5游戏引擎开发,目前H5的游戏引擎比较好用的是白鹭,不过对于新手来说白鹭的开发环境和工具使用过于复杂,这里推荐一个国内大神编写的游戏引擎:lufylegend. 直接在页面引入 ...

  4. 使用Html5+C#+微信 开发移动端游戏详细教程 :(一)序(关于作者创业失败的感想)

    说起梦想,我清楚的记得2012年7月初毕业,拿到毕业证书的那天果断买好了次日南下去深圳的绿皮火车票,500多块,26个小时车程.第二天就拖上行李到了深圳. 一开始的想法仅仅是过去想见见世面,学习点新技 ...

  5. 使用Html5+C#+微信 开发移动端游戏详细教程:(六)游戏界面布局与性能优化

    本篇教程我们主要讲解在游戏界面上的布局一般遵循哪些原则和一些性能优化的通用方法. 接着教程(五),我们通过Loading类一次性加载了全部图像素材,现在要把我们所用到的素材变成图片对象显示在界面上,由 ...

  6. 使用Html5+C#+微信 开发移动端游戏详细教程 :(二)准备工作&开发环境

    C#开发环境:VS2013; H5开发环境:WebStorm; 数据库:mysql+navicat管理工具: 操作系统:win7: 调试:chrome浏览器 如果想在微信端上线运营游戏请做好以下准备工 ...

  7. AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)

    AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...

  8. 前端提升生产力系列三(vant3 vue3 移动端H5下拉刷新,上拉加载组件的封装)

    | 在日常的移动端开发中,经常会遇到列表的展示,以及数据量变多的情况下还会有上拉和下拉的操作.进入新公司后发现移动端好多列表,但是在看代码的时候发现,每个列表都是单独的代码,没有任何的封装,都是通过v ...

  9. iOS开发 XML解析和下拉刷新,上拉加载更多

    iOS开发 XML解析和下拉刷新,上拉加载更多 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示 ...

随机推荐

  1. [推荐]WebService开发知识介绍

    [推荐]WebService开发知识介绍 WebService开发手册  http://wenku.baidu.com/view/df3992ce050876323112128a.html WebSe ...

  2. APP顶号逻辑

    登录的接口login.do接口上需要记录关键的信息:userId.设备型号(Android|iPhone).登录时间.登录IP.设备唯一标识(UUID) 当在另外一台新设备上登录同一帐号时,将user ...

  3. Python 3 数值计算

    Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32Type & ...

  4. iOS相册、相机、通讯录权限获取

    iOS相册.相机.通讯录权限获取 说明 这是本人写的一个工具,用以便利的处理各种权限获取的操作,目前提供相册.照相机.通讯录的权限获取操作,参考了 http://www.jianshu.com/p/a ...

  5. Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(图文)

    第一步:代码混淆(注意引入的第三方jar) 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt. ...

  6. [C#] zdbviewcs: 跨平台数据库查看器。支持SqlServer、Oracle、MySql等数据库

    作者:zyl910 一.说明 本工具有适合以下情况使用—— * 快速查看数据库中数据及表结构信息.* 测试ADO.Net下连接字符串的写法.* 帮忙分析ADO.Net数据库操作. 二.用法 运行本程序 ...

  7. Xcode7 使用NSURLSession发送HTTP请求的问题

    报错信息: Application Transport Security has blocked a cleartext HTTP (http://) resource load since it i ...

  8. Test Tex

    \begin{equation}\label{exampleone}r = r_F+ \beta (r_M - r_F) + \epsilon\end{equation}

  9. [LeetCode] Serialize and Deserialize Binary Tree

    Serialize and Deserialize Binary Tree Serialization is the process of converting a data structure or ...

  10. js去掉html标签和去掉字符串文本的所有的空格

    去掉html标签的js <script> function delHtmlTag(str){  return str.replace(/<[^>]+>/g,"& ...