【步兵 cocos-js】prototype在开发中的妙处

prototype在开发中的妙处 by EOS.

上一篇文章我们介绍了,prototype的功能做了一些讲解,没有看到的朋友,
可以去回顾一下上一篇文章《【步兵 cocos-js】逆向思维 对 js对象和函数进行分析》
那么知道了prototype的功能,下面我介绍一下开发中它的妙处。


完蛋~不知道标题起什么名字好了

上篇介绍到 new function 创建的对象,可以通过 function.prototype.xxx的形式,
在function外部拓展功能,这个功能简直赞到爆啊~

我们知道cocos创建精灵的形式是 new Sprite;的形式。
这也就是说,Sprite就是一个function,那也就是意味着,我们可以在Sprite外部拓展它的
功能,这样我就可以在不修改源码的情况下,不断的拓展Sprite的功能,既保留了底层的规范
又可以自由的发挥,更重要的是,妈妈再也不用担心cocos更新,我每次都把代码搬来搬去了。
(ps:当然除了cocos把某些接口给干掉了。不吐不快啊~ cocos之“我们优化了渲染”,
我们之“卧槽xxx变量怎么不见了,我之前用这个变量做了好多功能啊”,其他程序员:“噗~”)

比方说:步兵,我觉得Sprite不够方便啊,要是播放帧动画能想Armature那样直接play多好啊。

那还不简单,你直接:(这样,这样,再这样~ 不就好了)

/**
 * 播放骨骼动画 
 * @param {String} bsStr - 动画编号的前缀
 */
cc.Sprite.prototype.play = function (bsStr) {
    //首先,要规定一个命名格式 比如 bs_001.png
    //这样我们写处理起来就会方便很多
    var idx = 1;
    while(true){
        var numStr = "000".substr(0,idx.toString().length) + idx;
        var fName = bsStr + "_" + numStr + ".png";
        //在然后就根据 fName 创建帧,放入到一个数组里
        //如果帧不存在,就跳出循环
    }
    //到这的时候就拿到了一组序列帧,然后就可以可以创建帧动画了
    //然后设置一下帧间隔,循环什么的就可以了,如果常用可以再存一下
    //最后 一个this.runAction, 走你~
}

//然后使用就是这样
var kof = new cc.Sprite;
//添加设置坐标什么的
kof.play("8God");

//卧槽,看到没有,八神在放大招了,卧槽好酷炫~好叼~

什么?感觉不太对?还不够酷炫?(总觉得这台词在哪听过)
最好再来个加残影、闪屏、加特效。你确定你是程序不是个策划?
(ps:噫~好像没有哪里不对,日常黑~)

cc.Sprite.prototype.CanYing_Shanping_DaiTeXiao = function (on_off) {
    //...
}

总之就是可以各种姿势,拓展(玩坏)Sprite。
当别人看见的代码,各种亮瞎眼,我擦,你的Sprite为什么这么好用,
你就可以说:“low逼,来来来,让我来教你做人~”。
然后当他看到cc.Sprite.prototype.CanYing_Shanping_DaiTeXiao。
总感觉他的内心中会有一万只草泥马奔腾而过,打着发蜡,闪着光,还回眸微笑~


题外话

上面我每一直接把代码贴出来,不是我不想方便大家,主要的还是
希望大家自己去实现一下,我提供给思路然后说不定,你写着写着
灵光乍现,突然想到一个比我的思路叼256倍的方法,总比把我已经写好的,
一个方法考走,然后一点印象没用,只是觉得“哎,能用,挺好”要强的多。

毕竟经验是需要不断的积累的,可能我今天封装了个烂1方法,几天后我想到了
渣2方法,半个月后我想到了帅3方法,突然某天想到了叼4方法(绝不是屌丝)。

最后一句,不要做搬运工,少抄多想,脑子是越用越灵光的,可能暂时的你会比
别人慢一点,但你走的扎实,我相信这样会走的更长远~

最最后一句:我也正在这条路上,程序员就要对自己狠一点,就要不断的
重构,重写!重构,重写!重构,重写!

啊~对了,我建了个Q群,群号:453920459
目前已经有2个人左右了,希望能早点热闹起来,
大家多多交流,多多指教~(真·最后一句)

See Again~
之前
真爱无价,欢迎打赏~
赞赏码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值