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

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

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

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

我并不知道我刷新一下排行榜会有哪些人会排到前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. IBM的IT战略规划方法论

    IBM的IT战略规划方法论 http://wenku.baidu.com/view/42489e21aaea998fcc220e92.html?re=view http://wenku.baidu.c ...

  2. GO語言基礎教程:數據類型,變量,常量

    GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左 ...

  3. int android.graphics.Bitmap.getRowBytes()

    int android.graphics.Bitmap.getRowBytes() Return the number of bytes between rows in the bitmap's pi ...

  4. j$(function() j$(document).ready 区别

    $j(document).ready(function(){}); // 或者  $j(function(){}); 第一个是直接使用Jquery调用function,第二个是在文档加载完毕后才去调用 ...

  5. old header

    海纳百川 山不拒土 No Backspace in Real Life. Love Life![Cloud][LBS][GIS][GPS][MAPS][C++][Java]

  6. Windows 系统下设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效 npm config set cache "D:\nodejs\node_ca ...

  7. redis的基本使用

    Redis的应用 http://www.redis.cn/commands.html http://www.cnblogs.com/ikodota/archive/2012/03/05/php_red ...

  8. 国内市场上 Android 手机屏幕分辨率的比例情况如何?

    http://www.zhihu.com/question/19587205 根据友盟发布的<友盟国内Android数据报告>,前六名分别是: 800×480,32.4% 480×320, ...

  9. Windows 2008 利用Filezilla server搭建FTP

    Windows 2008 利用Filezilla server搭建FTP, 安装后总是提示Error Connection To Server Lost , 后来,无意中先安装了IIS,再安装file ...

  10. 在Windows 2008/2008 R2 上配置IIS 7.0/7.5 故障转移集群

    本文主要是从:http://support.microsoft.com/kb/970759/zh-cn,直接转载,稍作修改裁剪而来,其中红色粗体部分,是我特别要说明的 若要配置 IIS 7.0 和 7 ...