- 博客(37)
- 收藏
- 关注
原创 js中的math对象的常用的方法
abs(x) 返回数的绝对值。 acos(x) 返回数的反余弦值。 asin(x) 返回数的反正弦值。 atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 P
2016-08-12 16:15:27
524
原创 关于数组的一些知识点和API
数组是对象的特殊形式。所有的数组都是对象。稀疏数组就是包含从0开始的不连续索引的数组。如果数组是稀疏的,length属性值大于元素的个数。unshift()方法是在数组的首部插入一个元素。delete不会修改数组的length属性,删除后的数组会变成稀疏数组。join()将数组中的所有元素都转化为字符串并连接在一起,返回最后生成的字符串。reve
2016-08-11 14:20:37
766
转载 A*算法详解
第一部分:A*算法简介 写这篇文章的初衷是应一个网友的要求,当然我也发现现在有关人工智能的中文站点实在太少,我在这里 抛砖引玉,希望大家都来热心的参与。 还是说正题,我先拿A*算法开刀,是因为A*在游戏中有它很典型的用法,是人工智能在游戏中的代表。 A*算法在人工智能中是一种典型的启发式搜索算法,为了说清楚A*算法,我看还是先说说何谓启发式算法。 一、何谓
2016-08-09 15:11:49
3937
转载 常见 20 个正则表达式
1 . 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$2. 校验中文字符串仅能是中文。^[\\u4e00-\\u9fa5]{0,}$3. 由数字、26个英文字母或下划线组成的字符串^\\w+$4. 校验E-Mail 地址同密码一样,下面
2016-08-05 14:30:20
663
转载 A*代码(JS版)
searchRoad:function(MAP,start_x,start_y,end_x,end_y){ //用F值对数组排序function sortF(a,b){ return b.F- a.F;}//获取周围八个点的值function SurroundPoint(curPoint){ var x=curPoint.x,y=curP
2016-08-05 11:44:38
418
原创 关于从四个方向往一个地方移动后碰撞往后小退的代码
onCollisionEnter: function (other, self) { console.log('on collision enter'); // 碰撞系统会计算出碰撞组件在世界坐标系下的相关的值,并放到 world 这个属性里面 var world = self.world; // 碰撞组件的 aabb 碰撞框 va
2016-08-04 16:25:34
585
原创 CocosCreator自定义事件的清除方法
//抛出自定义事件var firstChoose = new cc.Event.EventCustom("chooseID", false) firstChoose.setUserData(that._selfId) cc.find('UIScript').dispatchEvent(firstChoos
2016-08-03 13:02:09
5408
原创 CocosCreator中。取消当前选中的状态并给第二次点击的物品添加选中状态的代码(自定义事件版)
//当那个图片被点击后,抛出自定义事件,将当前点击图片的信息和点击状态传出that.node.getChildByName('pic').on(cc.Node.EventType.TOUCH_START,function(){ cc.log(that._selfId+'被点击了') //当点击的图片还是第一次点击的图片时候,点击状态交换
2016-08-01 17:04:41
3258
原创 CocosCreator自定义事件总结
//定义一个变量储存自定义事件名称"chooseID"和是否冒泡falsevar firstChoose = new cc.Event.EventCustom("chooseID", false)//给自定义事件添加需要抛出的事件 firstChoose.setUserData([ob,that._selfActive])//抛出自定义事件
2016-08-01 16:48:13
5577
转载 js正则表达式用法大全
匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^x00-xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:ns*r评注:可以用来删除空白行匹配HTML标记的正则表达式:]*>.*?|评注:网上流传的版本
2016-07-30 08:46:43
573
原创 cc.CallFunc()的用法
CallFunccc.CallFunc()动作允许你从一个动作中调用一个方法。在连续动作的结尾这个方法很有用。举例:node.runAction(cc.sequence( cc.moveTo(0.5,beAttackPos), //在攻击动作完成后,调用一个方法,进行血量的判断 cc.callFunc(cou
2016-07-30 08:34:24
6801
原创 replace的用法
用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 要执行该替换的 String 对象或字符串文字。该字符串不会被 replace 方法修改。 //只能替换第一个a var strM = "javascript is a good script language"; //在此我想将字母a替换成字母A alert(strM.replace("
2016-07-30 08:27:28
683
原创 indexOf() 用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。 如果要检索的字符串值没有出现,则该方法返回 -1。 String.indexOf函数用法小结 indexOf的参数是String, startIndex: Number; indexOf的返回值为int, Function indexOf 包含如下几个格式: 1). Strng.inde
2016-07-30 08:26:44
5074
原创 从一个scene跳转到另一个scene的代码以及一些控件代码
cc.find('Canvas').runAction(cc.sequence(cc.fadeOut(1.0),cc.callFunc(function(){ cc.director.loadScene('WAR');}))) this.node.getComponent(cc.ProgressBar).progress = 。。。给进度条添加数据
2016-07-28 08:46:14
2005
原创 CocosCreator中从一个脚本代码跳转到另一个脚本代码
点击后跳转至另一个层中的代码 //当点击到NPC的时候,传入点击的NPC的全部属性到playerControl代码层中 newNode.getChildByName('pic').on(cc.Node.EventType.TOUCH_START,function(){ cc.log(ob.name+'被点击了')
2016-07-22 14:43:19
2285
原创 判断层级代码
只有Node节点才可以添加on事件的侦听。关于数组sort的代码的运用var ob=[{age:99},{age:9},{age:399},{age:199}] ob.sort(function(a,b){ return a.age > b.age?1:-1 }) cc.log('???', o
2016-07-20 08:49:58
1127
原创 CocosCreator中使玩家移动到点击位置的代码
onLoad: function () { var that = this that._playerSpeed = 300 that.bg.on(cc.Node.EventType.TOUCH_START,function(event){ //获取当前点击的全局坐标 var temp = event.getLoc
2016-07-19 15:33:34
8354
原创 关于裁剪CSV文件中的各类数据的代码
_loadMapData:function(){ var that = this cc.loader.loadRes("csv/map",function(err,mapCsv){ var mapArr = mapCsv.split("\n")//地图ID,人物ID,人物形象,人物名字,对话,人物坐标X,人物坐标Y,点击事件D-任务 M-
2016-07-19 15:31:57
548
原创 7-18关于预制件和添加图片
resources 文件夹里面的资源,可以关联依赖到文件夹外部的其它资源,同样也可以被外部场景或资源引用到。项目构建时,除了已在 构建发布 面板勾选的场景外,resources 文件夹里面的所有资源,连同它们关联依赖的 resources 文件夹外部的资源,都会被导出。所以如果一份资源不需要由脚本直接动态加载,那么不用放在 resources 文件夹里。动态加载 AssetCr
2016-07-18 18:12:39
485
原创 Creator关于坐标的一些代码
update: function (dt) { //得到怪物的坐标 var sp = this.guaiwu.convertToWorldSpaceAR(this.guaiwu.getPosition()) //得到炮塔的坐标 var pos = this.node.convertToWorldSpaceAR(this.node.getPo
2016-07-15 17:47:09
1147
原创 根据两个坐标来算弧度,并转换成角度进行旋转的代码
DATA即为传输过来的坐标数据 _init:function(data){ var truePos=cc.p(data.x-cc.winSize.width/2,data.y-cc.winSize.height/2) var angle=cc.pAngleSigned(truePos,cc.p(0,1)); var angledegrees=cc.
2016-07-14 17:57:41
2523
原创 关于动作的一些个人代码以及旋转源代码
1.cc.Node类中关于动作的函数:①runAction:运行指定动作,返回值任然是一个动作对象。②stopAction:停止指定动作。③stopActionByTag:通过指定标签停止动作。④stopAllActions:停止所有动作。2.移动moveTo(绝对)moveBy(相对)var move1 = cc.moveTo(2, cc.p(100,100));从当前位置移动到屏幕
2016-07-14 17:54:39
1200
原创 存取最高分的代码
1.把分数存起来if(TARGET_SCOREthis._madeScore){ //比较当前获得分数和最高分 TARGET_SCORE = this._madeScore; var key = "key_"; var is = cc.sys.localStorage; is.setItem(key,TARGET_SCORE);2.获取
2016-07-14 17:53:43
637
原创 Creat中。关于抛出坐标与接收坐标
我在背景图片上面添加点击事件,然后将在背景上面的点击坐标。抛到防御塔的JS文件里面让他接收并获取坐标背景JS代码:cc.Class({ extends: cc.Component, properties: { paota:{ default: null, type: cc.Node }
2016-07-14 17:50:14
411
原创 关于动作的一些代码
runAction(action) 开始运行这个动作 ,返回值仍然这个动作对象stopAction(action) 停止这个动作stopAllAction() 停止全部动作var ac1 = cc.moveBy() 移动到某位置va
2016-07-13 16:20:34
466
原创 倒计时器的代码封装
/** * 在Scene里添加 this.addChild(new TimeCount()) * 使用美术字的倒计时 需要 fnt文件预加载 * 美术字的名字注意修改 * 使用的时候通过 * cc.eventManager.dispatchCustomEvent(USER_TIME_COUNT_SET_TIME, 5) 设置倒计时时间 * cc.eventManager.disp
2016-07-11 09:02:49
463
原创 三消类关于数组以及坐标及交换技巧
creatTempCell:function(){var a = new Cell()a.arratIndex = this.arratIndexa.setPositiong(this.getPositiong())return a}这类方法是设定一个临时的精灵。让点击的图片的精灵属性保存到一个变量中。然后让第一个点击事件与这个变量进行等价交换。
2016-07-07 09:59:10
483
原创 关于数组裁剪的代码
filterDelSame:function(arr1,arr2){ var returnArr = arr1.concat(arr2) for(var i = 0; i returnArr.length; i++){ var nowPo = returnArr[i] if(cc.pSameAs(returnArr[j], nowPo)){
2016-07-01 18:00:44
515
原创 关于数组的一些总结
aaa:function(){ var a = cc.p(10,10) var b = cc.p(5,-5) var c = cc.pAdd(a,b) cc.log(c.x, c.y)}, c.x = 15, c.y = 5这是将两个数值加到一起的一个算法checkNeighbor:function(touchIndex) {
2016-07-01 17:50:41
369
原创 关于定时器的合并与变速处理
var HelloWorldLayer = cc.Layer.extend({ schedule1:null, schedule2:null, ctor:function () { this._super(); this.schedule1 = { target:3, //记录的是目标值
2016-06-29 15:26:49
394
原创 关于动画和layer的清除工作
添加动画studio 导出使用大图 和 使用全部大图导出使用大图 生成 png + plist和画布对应的json代码里加载画布使用了同样的方式cc.spriteFrameCache.addSpriteFrames(res.calcPlist);将大图切开存入缓冲池逐帧动画将多张图片存入数组 然后使用var animation = new cc.A
2016-06-29 08:28:18
832
原创 6-27关于打飞机与自定义事件的总结
ctor:function(pic){ this._super(pic) this.scheduleUpdate() },update:function(delay) { cc.eventManager.dispatchCustomEvent("difeizidan", this)},这类是每一帧都会
2016-06-27 17:55:24
569
原创 6-27背景流动的封装代码
var BgSp = cc.Sprite.extend({ sp1:null, sp2:null, moveSpeed:10, ctor:function(res){ this._super() this.sp1 = new cc.Sprite(res) this.sp2 = new cc.Sprite(res)
2016-06-27 17:54:01
331
原创 自定义事件
自定义事件的侦听cc.eventManager.addCustomListener(USER_CLICK_SHRED_EVENT,function(event){ var data = event.getUserData(); cc.log('获得了数据',data) })自定义事件的抛出cc.eventManager.disp
2016-06-22 15:26:08
364
原创 定时器类的封装
/** * 在Scene里添加 this.addChild(new TimeCount()) * 使用美术字的倒计时 需要 fnt文件预加载 * 美术字的名字注意修改 * 使用的时候通过 * cc.eventManager.dispatchCustomEvent(USER_TIME_COUNT_SET_TIME, 5) 设置倒计时时间 * cc.eventManager.disp
2016-06-20 17:28:25
655
原创 6-20定时器总结
var label = new cc.LabelTTF('今天天气真热',"Microsoft YaHei",30)//label.enableStroke(cc.color(0,0,0,255),2)label.setPosition(cc.winSize.width>>1,cc.winSize.height>>1)label.setColor(cc.color(255,0,0,25
2016-06-20 17:27:21
381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人