包含标签 lua 的文章

cocos2d-x 3.4 lua 触摸 BUG

2015-04-20 更新:该 bug 已经解决,见本文结尾。

查看所有 quick 移植到 cocos2d-x lua 的文章

移植 quick2.2.3 的项目到 cocos2d-x 3.4 lua 中提到,我已经开始使用 cocos2d-x 3.4 lua 来开发目前公司的两个项目。

在这两个项目中,我将 cocos 的 lua 框架、quick 的 lua 框架和我自己开发的 lua 代码,全部整合到了我的 lua 项目 中。

下面提到的 quick 框架,都是指的我整合的这个 lua 项目。

……

阅读全文

移植 quick2.2.3 的项目到 cocos2d-x 3.4 lua

查看所有 quick 移植到 cocos2d-x lua 的文章

我们的第二个游戏 Lulala 是采用我修改过的 quick 2.2.3 开发的,这个项目已经完成。

Lulala 完成后,我们立项了一个新的游戏 HHL,此时我转向了 cocos2d-x lua,具体原因我在 从 quick 转向 cocos2d-x 3.3 lua 一文中做过介绍。

在 HHL 中,我本想将以前在 quick 中修改的东西,全部移到到 cocos2d-x 3.x 中来,但仔细考虑后放弃了。我修改了太多的 C++ 代码,同样的工作我不可能在 cocos2d-x 3.x 中再来做一遍。

由于 从 quick 转向 cocos2d-x 3.3 lua 中提到的痛苦经历,我现在要保证 cocos2d-x 跟随官方一起更新。我不打算再大幅修改 cocos2d-x 3.4 的 C++ 代码,否则合并 cocos2d-x 官方库一定会出问题。

……

阅读全文

lua 协程(coroutine)分析

这是一段分析 lua 协程(协同程序,coroutine)的代码,来自 Lua reference manual interface (略有修改):

function foo (a)
	print("foo", a)
	return coroutine.yield(2*a)
end

co = coroutine.create(function (a,b)
   print("co-body1", a, b)
   local r = foo(a+1)
   print("co-body2", r)
   local r, s = coroutine.yield(a+b, a-b)
   print("co-body3", r, s)
   return b, "end"
end)
	
print("1----")
print("main", coroutine.resume(co, 1, 10))
print("2----")
print("main", coroutine.resume(co, "r"))
print("3----")
print("main", coroutine.resume(co, "x", "y"))
print("4----")
print("main", coroutine.resume(co, "x", "y"))

运行效果如下:

……

阅读全文

从 quick 转向 cocos2d-x 3.3 lua

  • 2014-11-30 更新:
    今天在 quick 的博客上看到了 duceface 的新文章:cocos2d-lua 与 quick 的未来,不由得热(kua)泪(zhang)盈(shou)眶(fa),看来 dualface 一直在努力,终于有成果了。
  • 2015-01-15 更新:
    加入 LiteFeel 的 如何在lua项目中使用dragonbones 文章链接。
  • 2015-01-16 更新:
    今天下载了 cocos2d-x 3.4 RC1 ,发现其中已经集成了一个 simulator,包含了原来 quick-player 的部分功能。根据阳光七月的说法,quick 到了3.4之后将不再单独发展。这真是个好消息。

在我的第一个 cocos2d-x 项目立项时,我曾经纠结过是使用 Lua 绑定还是使用 JS 绑定。最后选择了使用 Lua : Cocos2d-x script language binding:Lua or Javascript? 。cocos2d-x 的 Lua 绑定做得很糟糕,所以,我基于 quick-cocos2d-x 2.2.3 这个更好的 Lua 绑定版本进行了许多修改,那时 quick 还是在独立发展。

后来,Quick 被触控收购,Quick 进行了不兼容的升级。由于我对 Quick 的修改过多,当时的项目也在非常重要的时期,我没有持续跟进 Quick 的升级步伐,一直在使用自己 forked 的版本。

在这段艰苦时间中,我在 Quick 社区和 Quick 团队身上也学到了不少东西。感谢 dualface、Jimmy、阳光七月、ChildhoodAndy、微微蓝 等朋友提供的无私帮助。

在这些朋友的帮助下,我对 openGL ES 做了初步的了解,写出了 cocos2d-x 的 filter 组件;熟悉了 cocos2d-x 引擎的源码架构;把 DragonBonesCPP 整合进入了 quick 框架中;了解了 lua 与 C++ 交互的方式……

下面有一个不全的列表:

……

阅读全文

Flash air 开发iOS游戏在苹果上架,能否热更新?

Flash air 开发iOS游戏在苹果上架,能否热更新?

这是我在知乎上的一个回答。原文地址: http://www.zhihu.com/question/24847013/answer/29263899

我曾经多次被问到过这个问题。正好整理一下思路,免得以后忘了。

问:

游戏已经上架,以前的更新方案在苹果更新后,发现更新下来的swf不能正常读入,导致游戏无法进入。不知各位大神有没有什么方法解决。

答:

目前,在移动平台上想利用SWF热更新,只有 Android 能做到。

……

阅读全文

删除 lua.ByteArray 中与 Long 相关的方法

删除 lua.ByteArray 中与 Long 相关的方法

Delete some methods about Long in lua.ByteArray.

用lua实现ByteArray和ByteArrayVarint 一文中,我介绍了用 lua+lpack+BitOp 实现的 ByteArray 模块,这个模块模仿 AS3 的ByteArray,给从Flash转到quick-cocos2d-x的程序员以亲切感。

这个模块被网友们找出了一些BUG,例如 这个这个这个 ,和 这个

今天,我将这些网友提出的问题一一做了确认和测试,发现有些并非BUG,而是理解有偏差。

但有个不是BUG的问题却可能造成重大的错误,那就是:

……

阅读全文

在 quick-cocos2d-x 中使用 DragonBonesCPP

在 quick-cocos2d-x 中使用 DragonBonesCPP

Using DragonBonesCPP in quick-cocos2d-x.

2014-07-31更新:三件事已经全部搞定,DragonBonesCPP已经推送到了quick-cocos2d-x 官方库。

1 前言

DragonBones 官方C++版本 for cocos2d-x 这篇文章中,我已经简单地介绍过了 DragonBonesCPP 这套用于取代 CCArmature 的库。

在我自己修改的 quick-cocos2d-x 版本中,我已经把 CCArmature 库删除,完全使用 DragonBonesCPP 。

我们的产品也完全使用 Flash 和 DragonBonesCPP 来制作骨骼动画。所有AS3版本的DragonBones提供的功能,在CPP版本中都能完整地实现。

几个月之前,我就已经将 DragonBonesCPP 整合到了 quick-cocos2d-x 中,只是一直没有向官方库推送PR。这也是因为有几个内存泄露的BUG还没有解决。

现在,我终于有时间可以来做这件事。我的计划如下:

  1. 写一篇关于 DragonBonesCPP 的教程(quick专用哦);
  2. 解决 DragonBonesCPP 的遗留问题,并进一步封装lua api方便使用;
  3. 将 DragonBonesCPP 推送到quick的官方仓库。

那么,这篇文章就是第一件事了。

……

阅读全文

quick-cocos2d-x的热更新机制实现

quick-cocos2d-x的热更新机制实现

0 依赖

这里说的热更新,指的是客户端的更新。

大致的流程是,客户端在启动后访问更新api,根据更新api的反馈,下载更新资源,然后使用新的资源启动客户端,或者直接使用新资源不重启客户端。

这种方式可以跳过AppStore的审核,避免了用户频繁下载、安装、覆盖产品包。

我们一般使用这种方式快速修复产品BUG和增加新功能。

本文基于 quick-cocos2d-x zrong 修改版

……

阅读全文

最近文章

分类

标签

3d aac actionscript adobe adobebug adsl air amd android ane ant antivirus apache api arch as2 as3 asdoc asp aspnet authorware bash bbpress benq bitandbyte bitmapdata bluetooth book box2d browser byewindows c camera capture centos character-set chinajoy choice chongrenxindu chrome class cms cocos2d-x codec collection color component conference cookbook coolplayer cpp css cygwin datagrid debug degrafa design-pattern develop devops director display-objects docker dragonbones ds eclipse editgrid egret embed emotion encrypt engine english eval excel exif fcs ffmpeg film filter firebase firefox flash flash-remoting flashbuilder flashdevelop flashplayer flask flex flexbuilder flv fms font framework freeware fromto fte ftp fxg game gamenote gcc general generator gin git gmail godaddy golang google gprs graphic graphviz gtd gui h264 hardware hexo host house howto hp html html5 http hugo i18n ie image ime ios iot jacky-cheung java javascript job joomla journey jquery json layout lecture library life lighttpd linux lisp list live loader lua mac macos mambo management markup master math mencoder mingw mjp mobile mobile-game-framework module monitor mvc mxmlc mysql ndk netconnection netstream network nginx node nodejs note objective-c office okr opengl openresty opensource ops osmf osx pay pda performance photoshop php physics player plist plugin portable posix ppc protocol proxy python qiqi qt quick2cocoslua reading readingnote reflection regexp ria robotlegs router rtmp ruby sagibookclub sagiteam sandbox sdk server sharedobject shell signals simulator skeletalanimation skin sleepmode smartphone socket software spark spreadsheet spritesheet sql sqlalchemy ssh staticize study svn swfobject terminal testing thread tipsandtricks tlf trace training translate translation tween typescript ubuntu ugly ui unity usingrobotlegs2 utf-8 uwsgi validator vcard vector video vim virtualization vr web weboffice websocket weekread wifi windows wine word wordpress wuhan xbeta xiaomi xinnet xml youshootfirst zhihu

其它