程序不是看出来的,是写出来的!思想不是想出来的,是敲出来的!欢迎加群298136329交流技术问题!

Lua回调函数小结

Lua回调函数小结
最近做一个小项目,是用Lua写的,中间用到了很多的回调,基本Cocos中的那几种常用回调都用到了,为了不做一个无脑的码农,打算写篇博客,总结一下,刚刚学习Lua,望大家指教!1、菜单按钮的回调。这二者的回调是这么实现的,新建一个菜单或者是按钮,为了点击菜单或者按钮以后实现程序的逻辑,我们需要为菜单和按钮来绑定一个回调函数,于是乎,我们有了以下的代码。--定义菜单项的回调函数local functi…

Cocos2d-x利用jni调用java层代码

Cocos2d-x利用jni调用java层代码
jni的意思是java本地调用,通过jni可以实现java层代码和其他语言写得代码进行交互。在cocos2d-x中,如果想要在c++层调用java层的代码,就是通过jni技术。通过调用java层的代码,我们就可以在Android平台下实现一些引擎没有提供给我们的功能,或者做一些其他的功能。比如加个广告,加个分享,调用Android原生的对话框等等吧。Cocos2d-x比较人性化的是为我们封装了jn…

自定义圆周运动

自定义圆周运动
由于项目需要实现一个圆周运动,而Cocos里边没有提供,所以就自己实现一个吧。在实现之前需要先明白原理,圆周运动作为持续性动作需要继承自ActionInterval,动作的本质就是不断的改变节点的属性,而圆周运动需要改变的是节点的位置属性,改变属性的代码需要写到update函数中,也就是在每帧不断的改变节点的坐标,这样看起来就是做圆周运动了。而update函数的调用是由动作管理器统一调用的,不需要…

视差节点ParallaxNode

视差节点ParallaxNode
ParallaxNode就是视差节点的意思,这个玩意是干嘛用的呢?当我们面对一个背景画面的时候,如果背景在滚动的时候可以使用这个节点,它的功能就是让子节点拥有不同的移动速率,这样,我们就可以让某一些子节点移动的慢一些,而某些子节点移动的快一些。这样营造出的效果就是远处的景物移动的快,而近处的景物移动的快,给人一种更加真实的感觉。说到它的用法,首先我们需要明确的是这个类是一个node,所以,它就像我…

Cocos2d-x3.0屏蔽下层触摸

Cocos2d-x3.0屏蔽下层触摸
关于这个问题网上有不少人在搜索,我自己曾经也写过一篇文章,cocos2dx弹出对话框的实现,其中就用到了屏蔽下层触摸这个功能。Cocos2d-x从3.0版本以来,触摸机制有所改变,虽然实现的道理没有变,不过我今天还是写出这篇博客,就当是简单的复习一下3.0的事件分发机制吧,同时把自己在研究的过程中遇到的问题分享出来。这里采用的方法是最简单,最直接的方法,整体的思路是这样的。设置触摸监听器吞噬触摸,…

Cocos2d-x-3.0粒子系统

Cocos2d-x-3.0粒子系统
首先需要明白粒子系统的原理,在引擎中存在一个粒子池,存放了待激活的粒子。发射器每次从粒子池中获取一个粒子,然后计算赋予粒子初始的属性(速度、大小、方向、生存时间等)后,将粒子发射出去。粒子被发射出去后,会不断地刷新来修正它的属性。当粒子的生存时间结束后,粒子就会死亡,然后重新被粒子池回收,等待下一次的激活。以下演示在3.0版本后使用三种方法来创建粒子效果。// 1、使用Cocos2d-x提供的效果…

为Cocos Code IDE添加自定义类补全(提示)功能

为Cocos Code IDE添加自定义类补全(提示)功能
将自定义类导出给Lua使用的时候,IDE中是不能提示某个模块中都有哪些变量或函数的,如果我们忘记了方法名还需要去查看c++层的代码或者查看API文件,这样做很不方便。因为对API的不熟悉导致写错某个函数或者变量影响了项目的进度很不值得。所以,本篇博客就为IDE添加自定义类的补全功能,当我们写下自定义类名的时候会出现导出的接口。1、导出一个类到Lua层,方法请参考绑定自定义类到Runtime(Lua…

Cocos Code IDE模拟器窗口最前解决方法

Cocos Code IDE模拟器窗口最前解决方法
方法1、在模拟器窗口的选中状态下,点击Control->keep window tap,这样可以解决问题,但是每次启动的时候这一项都是选中的状态,每次让窗口不是最前都要选择一下。 方法2、在工程的目录frameworks/runtime-src/proj.ios_mac/mac/SimulatorApp.mm下,105行,把g_winTop的值由true改成false。

浅析schedule和回调函数

浅析schedule和回调函数
Cocos2d-x中涉及到不少的回调函数,有时候我们在用的过程中并没有留意,但如果你仔细推敲一下,发现这里边的故事还真不少,好久没有跟新博客,这篇博客作为一个开头吧,我们借助菜单回调和schedule回调来说下3.0中的回调函数的一些应用。1、回调的第一种方法,传统方法,传入target和回调函数,在适当的时候用target调用回调函数。以下的函数调用是2.x创建菜单项使用回调函数的方法,第三个参…

Lua基础学习七——元表

Lua基础学习七——元表
我们都知道在高级语言中自定义的类的俩个变量如果要完成相加操作就需要重载+操作符,通过重载ToString方法来改变对象的输出方式,在lua中完成类似这样的操作靠的是元表,元表可以扩展或者改变变量的操作方式。lua的元表很重要,借助元表可以完成一些高级的操作,下面是使用方式。--[[ 所有的table类型变量和userdata类型的变量都可以有属于自己的一个元表,而其他类型的值共享该类型对应的一个元…