- 博客(27)
- 收藏
- 关注
转载 五子棋评分表算法
评分表算法一般情况下棋盘是15*15的。那么应该是572个五元组。而这五元组由黑棋白棋还有空格组成。也就是 3^5 * 572 = 138996; 看着很多吧,其实是可以分类的。每个五元组就是一种局势。我们只用统计只有己方棋子的局势,以及只有敌方棋子的局势,针对这两种局势给予确定的评分,而其他局势直接评分为0。下面是我使用的是评分表// tuple is empty Blank, /
2016-09-21 09:43:18
11489
2
转载 ccColor3B, ccColor4B, ccColor4F 颜色
表示颜色有三种对象:ccColor3B 用三个 0-255 的整数描述颜色,不带透明度 ccColor4B 用四个 0-255 的整数描述颜色,带透明度 ccColor4F 用四个 0.0 - 1.0 的浮点数描述颜色,带透明度三种颜色对象的创建方式:local color1 = ccc3(255, 0, 0) – 纯红色,三个参数分别是 Red(红)、Green(绿)、Blue(蓝) loc
2016-09-07 17:36:56
3531
原创 打靶游戏
设置好打靶图片和准心的图片。设置点击的时候发射子弹,并发射子弹的时候出现效果并移除sheji:function(touch){ var s = touch.getLocation(); var pic3 = new cc.Sprite(res.pic_3) pic3.setPosition(s); this.addChild(pic3)
2016-08-29 19:00:24
767
转载 模块化脚本
模块化脚本:Cocos Creator 允许你将代码拆分成多个脚本文件,并且让它们相互调用。要实现这点,你需要了解如何在 Cocos Creator 中定义和使用模块,这个步骤简称为模块化。模块化相当于:1.C/C++ 中的 include。2.C# 中的 using。3.Java 和 Python 中的 import。4.HTML 中的 。模块化使你可以在 Cocos C
2016-08-15 15:16:57
757
转载 A*算法
如图所示简易地图, 其中绿色方块的是起点 (用 A 表示), 中间蓝色的是障碍物, 红色的方块 (用 B 表示) 是目的地. 为了可以用一个二维数组来表示地图, 我们将地图划分成一个个的小方块.寻找步骤: 1. 从起点A开始, 把它作为待处理的方格存入一个"开启列表", 开启列表就是一个等待检查方格的列表. 2. 寻找起点A周围可以到达的方格, 将它们放入"开启
2016-08-05 14:56:45
322
原创 碰撞
//定义速度为5 this.num = 5; //获取碰撞接口 var manager = cc.director.getCollisionManager(); //显示碰撞系统 manager.enabled = true; manager.enabledDebugDraw = tr
2016-08-05 14:46:21
329
原创 闭包
闭包是 JavaScript 一个非常重要的特性,这意味着当前作用域总是能够访问外部作用域中的变量。 因为 函数 是 JavaScript 中唯一拥有自身作用域的结构,因此闭包的创建依赖于函数。function Counter(start) { var count = start; return { increment: function() {
2016-08-05 14:39:45
247
原创 RPG游戏(地图传送)
首先,我们创建三个接口,一个摆放地图,一个加载NPC,一个加载玩家自身。 properties: { bg:cc.Sprite, loadWaitImage:cc.SpriteFrame, npcLayer:cc.Node, },我们需要在不同的地图上建立NPC bulif:function(){ this.pub_beginShow
2016-08-02 14:38:04
1494
原创 知识点
indexOf用法: indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。stringObject.indexOf(searchvalue,fromindex)indexOf() 方法对大小写敏感! 注释:如果要检索的字符串值没有出现,则该方法返回 -1。 在 “Hello world!” 字符串内进行不同的检索:var str="Hello world!"docume
2016-07-30 08:58:53
429
原创 RPG游戏制作(CSV)
用Excel制作一个表格,填入数据,比如加载一个NPC人物,需要设立地图id,人物id,人物形象,人物名字,人物描述,人物x,y坐标,和点击事件。建立好后保存为CSV格式,设定为UTF-8保存,然后放入cocos创建的CSV文件下,接建立成一个CSV文件格式。 然后在代码下运用CSV下的数据 _loadMapData:function(){ var that = this
2016-07-30 08:37:51
1000
转载 Cocos Creator脚本开发(四)
所有的事件都是通过函数 cc.eventManager.addListener(listener, target) 来进行添加。可选的 event 类型有:1. cc.EventListener.MOUSE (鼠标)2. cc.EventListener.KEYBOARD (键盘)3. cc.EventListener.TOUCH_ONE_BY_ONE (单点触摸)4. cc.EventLi
2016-07-29 11:53:57
457
原创 Cocos Creator脚本开发(三)
事件处理是在节点(cc.Node)中完成的。对于组件,可以通过访问节点 this.node 来注册和监听事件。监听事件可以 通过 this.node.on() 函数来注册cc.Class({ extends: cc.Component, properties: { }, onLoad: function () { this.node.on('mousedown', functio
2016-07-29 11:50:54
757
原创 Cocos Creator脚本开发(二)
组件脚本的初始化阶段,我们提供了 onLoad 回调函数。onLoad 回调会在这个组件所在的场景被载入 的时候触发,在 onLoad 阶段,保证了你可以获取到场景中的其他节点,以及节点关联的资源数据。cc.Class({ extends: cc.Component, properties: { bulletSprite: cc.SpriteFrame, gun: cc.Nod
2016-07-29 11:31:09
556
原创 Cocos Creator脚本开发(一)
创建组件脚本:在 Cocos Creator 中,脚本也是资源的一部分。你可以在资源编辑器中通过点击”创建”按钮来添加并选择 JavaScript 或者 CoffeeScript 来创建一份组件脚本。 脚本创建好之后,就可以自己选择自己喜好的编译器去对脚本进行编译,当编辑完脚本并保存,Cocos Creator 会自动检测到脚本的改动,并迅速编译。脚本的慨念就是为节点添加一个组件。一分简单的脚本如
2016-07-25 14:52:54
5932
原创 三消游戏死局算法的解析
三消的制作完成之后,也会发生道最后无法消除的情况,也需要我们去检测我们玩到最后是否还有三个同样的可以消除,如果没有的话就判定游戏已经失败了。//死局算法检测类var CheckEnd = cc.Class.extend({ typeArr : null, setCellArr : function(arr){ this.typeArr = [] fo
2016-07-25 08:23:50
4560
原创 CocosCreator运用(一)
获得组件方法:只需要在组件方法里访问this.node变量: start: function () { var node = this.node; node.x = 100; }获得其他组件:需要用到getComponent这个API: start: function () { var label = this.getCompone
2016-07-19 19:36:36
1104
原创 三消游戏(三)
后面一些更改就是实现下落下标更改的方法。这个方法要在一开始检测三色的时候调用 with3Arr = this.filterDelSame(with3Arr,[]) return with3ArrupdateCellFallDownNum : function(cell){ if(cell == null) return //数组为空 if(cel
2016-07-19 19:29:41
578
原创 三消游戏(二)
做好了三消消除掉落之后,并且消除之后保存在数组之中rrayIndexArr = this.filterDelSame(specilArr,arrayIndexArr) if(cell) cell.setToSpecial() //清除同颜色的块儿 并且二维数组中的位置置为null for(var index in arrayIndexArr){
2016-07-19 18:52:54
522
原创 三消游戏解析(一)
很多原理上是和消除游戏相似的,也是建立好行列,游戏开始的同时,我们需要解决的是一开始的时候不会出现三个同色的块,就是说你一出来的时候就只有一个或者两个同色块儿在一起。 buildRandomToWithout3:function(){ var sameArr = this.check3Same(); cc.log('第'+this.timeCount++ +'次',
2016-07-19 18:44:49
2506
原创 消除游戏解析
消除游戏需要定义的就是它的行数和列数,以及颜色种数。var GameData = { W_NUM:10, H_NUM:10, CELL_TYPE:2,}首先我们建立一个二维数组,设置好位置_init:function(){ this.cellArr = [] for (var i = 0;i < GameData.W_NUM; i++) {
2016-07-18 09:11:44
676
原创 定时器的合并和变速
首先定义全局变量为null。 schedule1:null, schedule2:null,在ctor里设置变量的数据:this.schedule1 = { target:3, //记录的是目标值 current:0, //记录的是叠加值 handler:this.handler1, }
2016-07-18 08:31:15
310
原创 动画的设置
动画就是一种特效,用几张图片添加成一个动画效果,使用于打飞机的时候打中敌机会有爆炸效果,也可以使用在点击事件,点击东西的时候实现这个动画效果。首先我们要用到UI了,studio 导出使用大图 和 使用全部大图 导出使用大图 生成 png + plist和画布对应的json 代码里加载画布使用了同样的方式。cc.spriteFrameCache.addSpriteFrames(res.calcP
2016-07-04 17:26:22
414
原创 飞机界面设置
飞机界面设置游戏的制作就是在于开始界面还有死亡界面,另外再加上界面上按钮的设置功能。说的简单一些吧,游戏开始的界面上需要包括的是开始游戏按钮,按下开始游戏就会跳入界面开始游戏。首先我们设置一张背景图 var sp = new cc.Sprite(res.pic_4) //res.pic_4就是你的背景图 this.setPosition(cc.winSize.width>>1,
2016-07-04 17:16:54
1169
原创 飞机多样性制作
飞机多样性制作敌机多样性外观,发射子弹频率,出现频率,血量,移动速度this.color = cc.color(parseInt(Math.random()*255),parseInt(Math.random()*255),parseInt(Math.random()*255),255)道具的添加 添加道具Layer 并且接受event来创建道具,只要控制图片出现的时间和位移就好 this
2016-07-04 09:04:29
230
原创 飞机游戏的制作
飞机游戏的整体体系分为三大类:我方飞机、子弹和敌方飞机这三个部分。 前面小操作:建立好需要的图片的素材添加进去,调节好画布大小,让其变成竖屏的,这样有利于飞机操作【画布大小为700,1000最好】 首先说说我方飞机:把我方飞机建立好,
2016-06-23 09:10:50
677
原创 动作原理
Action对象是随着时间改变Node的属性。任何一个以Node为基类的对象都有可执行的动作对象。你可以在一个时间段内将Sprite精灵从一个位置移动到另一个位置。移动:var moveTo = cc.moveTo(2, cc.p(50, 10));mySprite1.runAction(moveTo); 【To相对于
2016-06-22 09:47:33
391
原创 拼图游戏思路
拼图的切割、打乱和还原: 切割:首先是要图片获取一样的宽和高this._widget = baseSp.width/SHRED_NUM_W;this._height = baseSp.height/SHRED_NUM_H;在创建好的同时在Cell里面需要调用方法:setIndexId:function(om){ this._cellIndex=om;}g
2016-06-22 09:20:25
559
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人