一年之前学的cocos2dx,那时候还是用C++编写的。...方向又改变了,还是回到之前的cocos2dx开发,但用的不是C++,而是lua脚本语言来开发,对我而言又是差点儿是从新開始。既来之则安之,在接触了那么多方向之后,是该选择一个确定的研究方向深入下去。...效果图 cocos2dx lua项目。lua脚本放在Resources文件夹下。也就是说lua脚本也像图片。...这也是lua开发cocos2dx的一大长处。...menu菜单 scene:addChild(createLayerMenu()) --加入自己绘制的图标和文字层 scene:addChild(layer) --执行场景
所以我们创建一个文本能够使用这种代码, function MyScene:ctor() local labelBMFont = ui.newBMFontLabel({ text = "Hello Cocos2dx...font = "futura-48.fnt", align = ui.TEXT_ALIGN_CENTER, x = display.cx, y = display.cy }) self:addChild...= ccc3(255, 255, 0), align = ui.TEXT_ALIGN_CENTER, x = display.cx, y = display.cy }) self:addChild...写个效果出来看看 local labelTTF = ui.newTTFLabelWithOutline({ text = "Hello Cocos2dx", size = 50, color...ui.TEXT_ALIGN_CENTER, x = display.cx, y = display.cy, outlineColor = ccc3(255, 255, 0) }) self:addChild
在手机游戏的开发中,滚动是一项非常重要的操作,而cocos2dx中使用的最广泛的就属于TableView了,不过由于cocos2dx的接口比较晦涩,所以需要一个熟悉的过程。..._skillView:setDelegate() skill_bg:addChild(self....setAnchorPoint(cc.p(0, 0)) sprite1:setPosition(cc.p(0, 0)) sprite1:setTag(1) cell:addChild...setAnchorPoint(cc.p(0, 0)) sprite2:setPosition(cc.p(0, 0)) sprite2:setTag(2) cell:addChild...numberOfCellsInTableView返回的个数和TableView创建的cell数量通常是不一样的,这是因为cocos2dx设计上为了节省资源,创建的cell数量 = tabview的高度
如果之前未将 /cocos2d-x-2.2/cocos2dx/platform/android/java 导入,在这里要导入。...在项目上右击,run as->android application 一切顺利的话工程就创建好了,如果没法运行,检查cocos2dx是否配置好。...static CCParallaxNodeExtras * node(); // Facility method (it’s expected to have it soon in COCOS2DX...KMAXDIFFY 0.2 #define KMAXDIFFX 0.1 double rollingX = 0.0; double rollingY = 0.0; // Cocos2DX...include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk SHAREDLIBS += -lcocos2d -lcocosdenshion
cocos2dx tolua传递参数分析: tolua_Cocos2d_CCNode_addChild00 == void CCNode::addChild(CCNode *child) tolua_Cocos2d_CCNode_addChild01...== void CCNode::addChild(CCNode *child, int zOrder) tolua_Cocos2d_CCNode_addChild02 == void CCNode...::addChild(CCNode *child, int zOrder, int tag) 上面是使用tolua把C++转到lua。...我们这里分析一下最后一个:/* method: addChild of class CCNode */#ifndef TOLUA_DISABLE_tolua_Cocos2d_CCNode_addChild02static...加到了middleBg self->addChild(child,zOrder,tag); } } return 0;tolua_lerror: return tolua_Cocos2d_CCNode_addChild01
开发环境: mac,cocos2dx 3.17 开发语言: lua 前言 cocos2dx 英文官网:http://www.cocos2d-x.org/ cocos2dx 中文社区:http://www.cocos.com...文件,添加一下代码 local png = "2.png" --文件路径 local sprite = cc.Sprite:create(png)--,cc.rect(0,0,0,0)) self:addChild...cc.p(origin.x + size.width/2 - 80, origin.y + size.height/2 + 80)) sprite:setPosition(300,300) layer:addChild...(btn) pageView:addChild(layout)---一个layout 为一个page内容 page:addPage(layout) end --添加pageView 到场景中...self:addChild(pageView) --添加事件响应 pageView:addEventListener(handler(self, self.onEvent)) --
最近准备做一个聊天系统,开始准备使用cocos2dx的UIRichText控件来显示聊天内容,结果在使用的时候才发现,cocos2dx的RichText功能非常有限,完全不具备实现聊天的功能...cocos2dx只实现了基础的1和2功能,所以考虑之后还是决定自己写一个RichText控件。UIRichText的框架还是不错的,实现了文本分行显示的技术。在他的基础上很容易扩展。 ..._richChat:setPosition(cc.p(20, 70)) widget:addChild(self...._richBugle) widget:addChild(self.
开发环境:cocos2dx 3.17 开发语言:lua 我们在开发游戏的时候经常会用到扇形进度条。...cc.PROGRESS_TIMER_TYPE_RADIAL) progress:setReverseDirection(true) -- true为逆时针,false为顺时针 self:addChild
cocos2dx也提供了一个基础功能类AssetsManager,但是不太完善,只支持单包下载,版本控制基本没有。因此我决定在AssetsManager的基础上扩展一下这个功能。 ..._labelNotice:setPosition(cc.p(winSize.width / 2, winSize.height / 2)) layer:addChild(UpdateLayer....(logo1) layer:addChild(logo2) layer:addChild(logo3) sceneGame:addChild(layer) cc.Director:getInstance...---------------------") end xpcall(update, __G__TRACKBACK__) 最后说明一点,需要把下载解压的目录加到文件搜索的最前面,保证cocos2dx...cocos2dx自动更新源码
简述: 这篇文章适合已经用cocos2dx开发过游戏(demo也可以)的人和对cocos2dx有兴趣的人阅读。...cocos2dx中除此之外,内存引用计数的操作(比如addchild,removechild,attain,release)也要在gl线程进行,不然会发生内存错误。...当选完城市后要求cocos2dx里面的界面刷新。...cocos2dx游戏是如何结束的? cocos2dx游戏退出的方法比较暴力。...,cocos2dx中是每祯都会回收引用计数为0的内存(前提是你把他们加进了自动回收池,即用cocos2dx提供的对象创建方法create),cocos2dx中还有个功能对解决内存问题非常实用,就是可以用
Scene* Piano::createScene() { Scene* scene = Scene::create(); Piano* layer = Piano::create(); scene->addChild...size.height / 360); auto menu1 = Menu::create(); menu1->setAnchorPoint(Vec2(0, 0));//锚点改为左下角 menu1->addChild...(button1); menu1->setPosition((1-1)*size.width/7,0); addChild(menu1); CocosDenshion::SimpleAudioEngine...size.height / 360); auto menu2 = Menu::create(); menu2->setAnchorPoint(Vec2(0, 0));//锚点改为左下角 menu2->addChild...(button7); menu7->setPosition((7 - 1)*size.width / 7, 0); addChild(menu7); return true; } void Piano
cc.c3b(255, 255, 255)); self.listView:pushBackCustomItem(layout); end self:addChild...layerColor) layerColor:setPosition(cc.p(0, 0)) scrollView:setPosition(cc.p(50, 50)) self:addChild...btn= ccui.Button:create("bt_qd.png","bt_qd_h.png","bt_qd.png"):setPosition(300,300) layout:addChild...(btn) pageView:addChild(layout)---一个layout 为一个page内容 page:addPage(layout) end --添加pageView...getCurrentPageIndex() print("is turning,this PageNum:"..pageNum) end end return MainScene 以上就是cocos2dx
这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇。...--CCDirector:sharedDirector():endToLua() local javaClassName = "com/cocos2dx...javaMethodName) end end) self.touchLayer:setKeypadEnabled(true) self:addChild
GameLayer::createScene() { auto scene = Scene::create(); auto layer = GameLayer::create(); scene->addChild...ScoreBoard::createBoard(2048, 120, 90, "Game", Vec2(15, size.height-100),Color4B(2,168,209,255)); addChild...ScoreBoard::createBoard(0, 90, 90, "high", Vec2(150, size.height - 100), Color4B(209, 168, 168, 255)); addChild...{ cards[i][j] = CardSprite::createCard(0, 90, Vec2(90 * i + CARDBORDER / 2, 90 * j + 80)); addChild...(label); addChild(bg); return true; } int CardSprite::getNumber() { return number; } bool CardSprite
GamePopStar::createScene() { auto scene = Scene::create(); auto layer = GamePopStar::create(); scene->addChild...for (int h = 0; h < HEIGH; ++h) { stars[w][h] = StarSprite::createStar(rand() % 5 + 1, w, h); addChild...)); //star->setPosition(20 + 40 * x, 20 + 40 * y); star->setPosition(20 + 40 * x, 20 + 40 * 16); addChild
auto item = MenuItemLabel::create(label); item->setContentSize(size); 对于set界面的绘制中,可以看到一条白色的线段,同样是调用cocos2dx...的API进行绘制,主要是DrawNode对象的相关方法 auto draw = DrawNode::create(); this->addChild(draw); draw->drawLine(Vec2...CC_CALLBACK_1 cocos2dx定义的宏,广泛应用于回调函数的处理中,其声明为: // new callbacks based on C++11 #define CC_CALLBACK... setLayer = SetMenu::create(); setLayer->setName("setlayer"); setLayer->setVisible(false); this->addChild...(bg); auto draw = DrawNode::create(); this->addChild(draw); //draw->drawLine(Vec2(10, 20), Vec2(50
(label); this->addChild(layerIcon); 代码分析: 背景创建: LayerColor::create(Color4B(230, 230, 0, 255), 100,...setString(…), setPosition(Vec2(60, 30)); 对于设置位置需要记住Label的锚点是在正中心,因此其坐标不应该设置为父节点的(0,0)处 添加子节点: addChild...updateBestScore() { if(_score < _bestScore) return ; setBestScore(_score); } 上面的代码很容易理解, 这里额外提一下Cocos2dx...(label); this->addChild(layerIcon); initScore(); }while(0); return true; } bool GameTool::initScore...(scoreLabel); this->addChild(scoreIcon); auto bestIcon = LayerColor::create(Color4B(186, 172, 159
今天说一说containerbase.addchild start_maven compiler plugin,希望能够帮助大家进步!!!
= Scene::create(); // 创建层对象 auto layer = HelloWorld::create(); // 把层放到场景里 scene->addChild...Menu::create(closeItem, NULL); //指定菜单的位置 设置显示的坐标位置 menu->setPosition(Vec2::ZERO); this->addChild...Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); //把图片精灵加入到层中 this->addChild...game_scene_close_event"); //_eventDispatcher->dispatchEvent(&customEndEvent); } 这样我们就得到一个能执行的HelloWord程序啦 因为cocos2dx...项目工程太大,只上传Classes一些cpp文件啦,你可以手动把代码加入到你的cocos2dx项目工程中。
ui.TEXT_ALIGN_CENTER, listener = onClicked, x = display.cx, y = display.height*0.3, tag = 2 }) 和Cocos2dx...我们要addChild每个item,quick在这里把menu又一次封装,让其使用和c++的写法一样,这就方便非常多了。...local menu = ui.newMenu({item1, item2}) self:addChild(menu) 这样就加入完毕了,回调函数咱们还没说。我们再看下。...x = display.cx, y = display.cy, }) local menu = ui.newMenu({item1, item2, item3}) self:addChild
领取专属 10元无门槛券
手把手带您无忧上云