7 僵尸男孩

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

lua 继承实现

--首先第一步需要是克隆,是为了能够实现子类拥有父类的所有函数和成员变量function clone(object)    local lookup_table = {}    local function _copy(object)        if type(object) ~= "table" then   --只有是table 那么我们才进行一个递归拷贝            retur...

2018-03-20 21:05:49

SDK armature 和 animation spine

1 首先第一个 armature 和 SpineAnimation 对应的是cocos 提供的两套动画,分别对应atlas文件,还有plist文件。一套是cocos编辑器自带的,一套是骨骼动画编辑器制作。 当然现在捕鱼游戏当中还有鱼的动画,这个是直接用动画帧实现的,以后可能还有K帧的使用。 而 cocos提供的帧动画还是和原来一样,通过图片一张张放入frame当中,然后进行播放。2 第三方相当于其...

2018-03-15 22:18:28

vs shfit+ctrl+f 全局搜索失

其原因是其他软件占用了该快捷键。例如搜狗拼音,繁体切换就是这个快捷,将其取消vs 全局搜搜变正常工作

2017-05-08 10:43:51

cocos clone 的坑

Widget* child = dynamic_cast(subWidget);        if (child)        {            addChild(child->clone());        }由于Sprite并不是Widget的子类,如果子控件是Sprite的话就不会克隆了!!! 包括node 节点,也不能成功的clone,反正不是wi

2017-03-06 20:19:46

lua c++ 相互调用

转自:http://cn.cocos2d-x.org/tutorial/show?id=1474一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索

2017-01-04 11:15:39

cocos场景切换时的loading界面实现

使用cc.Director:getInstance():setNotificationNode(NotificationNode)来进行实现,并且编写一个简单的延时函数。 global.NotificationNode = cc.Node:create() global.LoadingPic = cc.Sprite:create("ui/common/LoadingPic.png")

2016-12-05 13:45:41

LuaJavaBridge 使用说明

原文地址:http://dualface.github.io/blog/2013/01/01/call-java-from-lua/#lua20function20E79A84E5BC95E794A8E8AEA1E695B0E599A8 LuaJavaBridge - Lua 与 Java 互操作的简单解决方案 Table of Contents luaj 主要特征 luaj 用法示例 l

2016-12-01 10:07:58

安卓苹果技术常识

安卓和苹果在后台杀死游戏程序的时候并不会执行当前游戏的类的onExit 函数。具体原因不清楚。

2016-11-09 14:37:37

写代码必看!!!!

1 . 写逻辑代码写完后一定要对着自己的逻辑全部走通一遍。不要写完立即开始运行调试。这样的调试会浪费大量的时间。因为有些错误仅仅是因为你代码写错,笔误,或者逻辑的一个漏洞而导致。而这些问题都是非常简单的。所以我们在写完逻辑的时候一定要对着代码理一遍思路,看看有没有一些弱智错误,再三确认无误再去运行调试。更改代码逻辑的时候,记住一定要去增加代码,而不要去删除或者更改代码。增加代码是最好的方式。在更

2016-09-28 17:32:07

Lua 调用C++ 出现的问题

因为算法测试做了一答应微秒的代码。但是在lua调用C++的时候出现了一些问题:下面是代码:luatil.h#pragma onceclass lautil { //返回当前的微秒; static long long getCurMicroTime();};lautil.cpp#include "lautil.h"#include "cocos2d.h"#include <w

2016-09-26 15:22:32

返回局部指针

以前经常在C++/c 中听到,不能去返回局部指针。 导致现在ios,和cocos的开发都有一定的阴影。 当时对这句话的含义没有理解完全。所谓不能返回的局部指针。这个指针指向的一定是基础数据类型,在准确点指向的数据是存放在堆栈上面的。一般情况下基础数据类型都是放在堆栈上面。函数执行完毕后当前函数的堆栈都是要被清空的。所以这个时候你返回的局部指针指向的内存就已经被释放了!但是有时候我们还是可以返回局部指

2016-09-01 12:37:41

cocos lua 实现原声语音 流程概述

由于游戏需要,在cocos里面集成了自己原声的语音系统。虽然做的过程踩了很多的坑,并且过程很痛苦。这个过程需要你去了解很多的东西。 我是直接使用的lua 调用C++,c++在通过jni 调用安卓java来实现的语音录制并且播放。总体就是微信的聊天方式,语音内容都可以保存并且重复播放。下面我们就来梳理一下大概的流程。系统流程描述: lua通过C++调用java的recordVoice接口,java

2016-08-26 17:15:04

cocos lua 实现热更新

第一次搞热更新,这里记录一下全过程,方面以后查看。原理:每次登陆游戏利用cocos的assetManager从服务器拉去当前最新的两个文件。 一个是version.mainifest,一个project.mainifest. 这两个文件都是xml的描述文件。一个包含了版本信息,第二个包含了游戏所有资源的MD5码。首先通过version文件对比本地的版本是否相同,如果不相同,再通过跟本地的proje

2016-08-22 10:51:15

补码 源码 10000000 是-128

现在我们知道了计算机可以有三种编码方式表示一个数. 对于正数因为三种编码方式的结果都相同:[+1] = [00000001]原 = [00000001]反 = [00000001]补所以不需要过多解释. 但是对于负数:[-1] = [10000001]原 = [11111110]反 = [11111111]补可见原码, 反码和补码是完全不同的. 既然原码才是被人脑直接识别并用于计算表示方式, 为何还

2016-08-14 13:15:41

lua中的4 种常用遍历

当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key, value in pairs(tbtest) do XXX end for key, value in ipairs(tbtest) do XXX end for i=1, #(tbtest) do XXX

2016-06-13 17:41:57

cocos3.10游戏移植到安卓平台教程(c++版本)

流程简介 现在Cocos3.10移植游戏到安卓平台还是比较简化了,你只需要下载好SDK,JDK,NDK,ANT,配置好坏境变量,安装好JDK。再更改一下android.MK文件,你就直接可以进行编译了,当然编译当中也许会因为C++平台原因,NDK用的G++编译器,和VS的不一样,所以会出比较多的错误,只要你有耐心,就可以最终编译成功。配置环境 首先到网上下载SDK,JDK,NDK,ANT,如

2016-05-18 18:14:26

cocos converToWordSpace

每次遇到cocos的坐标转换,总是反应不过来,今天就顺便总结一下,只要这样记住就行了。比如一个精灵Sprite,不管这个Sprite他的父节点是谁。你都不用去关心。 好,现在我们把Sprite转换为世界坐标: 1.我们可以通过Sprite自行转换auto size=Sprite->getContentSize(); auto wordPos=Sprite->convertToWordS

2016-05-16 10:26:39

移植游戏后,UI点击位置不正确。

今天把做的游戏移植到了安卓上面,但是每次点击按钮都没有用,必须要往上面点击以下才行。 后来才知道使这里的问题: 我把图中写的代码:APPdelegate 文件中的 glview->setFrameSize(960,640)写在在了其他的位置 我们要达到的目的是在PC端,MAC,LINUX使用960,640的大小,所有应该卸载if判断条件语句当中。如果写在外面相当于把安卓手机屏幕定死了。安卓

2016-05-11 17:39:07

std::move和std::forwarding完美转发。

之所以要使用std::move还是为了提高程序的效率,我们经常创建一个对象,然后调用一个函数返回了一个临时对象,比如 object=getObject(); 这个时候就会调用boject的拷贝赋值函数,那么会对object对象重新申请空间,赋值,并且析构其中的一些内容。然后再把临时对象的里面的数据赋值给object。 那么还有一种更好的方法,交换object和临时对象的资源指针,也就是窃

2016-05-09 17:06:08

时间戳在游戏当中的运用

今天看lua写的一个坦克游戏,感觉时间戳用的很好。他把键盘输入都用时间戳记载了下来。然后根据最后一个按下的键,来判断当前用户选择的方向。也就是当左右键同时按下的时候,当然肯定不可能同时,并且肯定有一个键是后按下的。那么如果后按下的是右键,那么坦克往右行走,如果右键弹起,这个时候根据时间戳,坦克会往左移动。 这样的设计很好,游戏的体验性非常棒!

2016-05-02 11:15:36

查看更多

勋章 我的勋章
    暂无奖章