简单的《找不同汉字版》,来考考你的眼力吧

您所在的位置:网站首页 找不同字考眼力图游戏 简单的《找不同汉字版》,来考考你的眼力吧

简单的《找不同汉字版》,来考考你的眼力吧

2024-03-13 06:39| 来源: 网络整理| 查看: 265

代码下载:http://www.demodashi.com/demo/10494.html 一、准备工作

本次游戏开发需要用到lufylegend.js开源游戏引擎,版本我用的是1.5.2(现在最新的版本是1.6.0)。

引擎下载的位置:http://lufylegend.googlecode.com/files/lufylegend-1.5.2.rar

引擎API文档:http://lufylegend.com/lufylegend/api

首先为了开发方便,我们得先建立一个叫Find_Word的文件夹,然后在里面添加项目,如下:

Find_Word文件夹

|---index.html

|---js文件夹

|---main.js

|---lufylegend-1.5.2.min.js(游戏引擎)

|---lufylegend-1.5.2.js(游戏引擎)

做完这些后就可以开始游戏开发了。

二、程序实现

由于本次游戏开发较为简单,因此,我简单说一下过程。首先,在index.html中加入html代码:

html5 game loading......

也许有些朋友会很纳闷,因为他们没有找到canvas标签。其实在lufylegend中,当你调用init()函数时,会自动加入canvas标签,因此你只用写下一个div标签和这个div标签的id就能在html中自动加入canvas。

在main.js调用init()的写法如下:

init(50,"mylegend",525,500,main);

init函数第一个参数是页面刷新频率,第二个是canvas加到的div的id,第三个和第四个是页面尺寸,最后一个是页面初始化完成后调用的函数。

接着,我们定义一连串的变量:

var backLayer,tileLayer,ctrlLayer,overLayer,gameoverLayer; var tileText,overText,gameoverText; var col,row; var time = 0; var selectLayer; var checkpoints = [ ["籍","藉"], ["我","找"], ["春","舂"], ["龙","尤"], ["曰","日"] ]; var checkpointNo = 0; var i0; var j0; var i,j; var partX,partY; var overTextContent = ["恭喜您,您过关了","进入下一关","重新开始"]; var gameoverTextContent = ["对不起,您失败了","重开关卡"]; var nowLine; var setTimeLine;

其中我只介绍几个重要的变量,其他的以后会提到。

var backLayer,tileLayer,ctrlLayer,overLayer,gameoverLayer;

这些代码是在定义层变量,方便以后游戏开发。

var tileText,overText,gameoverText;

这里是在定义游戏中可能出现的字层变量。

var checkpoints = [ ["籍","藉"], ["我","找"], ["春","舂"], ["龙","尤"], ["曰","日"] ];

这些是定义关卡,在这个二维数组中,每一个数组就是一关,每一个数组中的文字就是关卡中要出现的字。可以看出,这个游戏共5关

接下来就是游戏的函数部分。首先是main函数:

function main(){ i0 = Math.floor(Math.random()*10); j0 = Math.floor(Math.random()*10); initLayer(); initCtrl(); initTile(); }

在这里面,我首先给i0和j0赋值,让他们成为任何一个0-10之间的随即数,以便确定哪里是不同的那个字。然后我还在这个程序中初始化了层和控制,以及调用了显示文字的函数initTile(),让我们分别来看看initLayer和initTile中的代码:

initLayer中:

function initLayer(){ backLayer = new LSprite(); addChild(backLayer); tileLayer = new LSprite(); backLayer.addChild(tileLayer); ctrlLayer = new LSprite(); backLayer.addChild(ctrlLayer); }

我用lufylegend中LSprite类的方法将层变量定义为了一个容器,以后要显示什么东西,就可以往这些容器中放。其中addChild是把一个东西放进容器的函数,当然放进去的东西也可以是个容器。由此,游戏就有了层次感。如果直接写addChild(xxx)就是把xxx放在游戏最底层。

initTile中:

function initTile(){ for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3