自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除