zl程序教程

[转]cocos2d-x

  • cocos2dx中Sprite和ImageView的使用

    cocos2dx中Sprite和ImageView的使用

    开发环境: cocos studio 3.10 quick-cocos2dx 3.7.8 windows11前言在使用的时候一定要注意节点属性,是精灵Sprite还是图片ImageView 因为Sprite和ImageView设置图片的方法是不一样的,如果是用代码创建的,那就不用说了,如果是使用cocos studio创建,可以在图片所示位置查看属性。 异同共同点Sprite 和ImageView

    日期 2023-06-12 10:48:40     
  • vsCode调试quick-cocos2dx

    vsCode调试quick-cocos2dx

    好久没有在windows上搭建cocos2dx的开发环境了,今天在搭建的过程中就遇到了一个问题。使用vsCode无法调试cocos工程。下面就说下我的做法吧。前面的步骤网上有很多,下面主要是介绍vsCode的配置(这里网上也有很多,但是很多方法行不通,作者只是记录自己的做法,以后如果再遇到这种问题便能很快的解决)1、安装插件作者这里安装的是”luaide-lite”插件,还有其他的插件也可以用,不

    日期 2023-06-12 10:48:40     
  • cocos2dx-lua虚拟摇杆方向控制

    cocos2dx-lua虚拟摇杆方向控制

    在游戏开发中,很多时候都需要控制游戏角色的移动,比如王者荣耀中对英雄的控制,我们可以做一个虚拟摇杆来实现--[[ 控制层 --]] local CtrlLayer = class('CtrlLayer', function() return display.newLayer('CtrlLayer') end) --方向按钮的size local

    日期 2023-06-12 10:48:40     
  • cocos2dx-lua中Label文本设置自动换行

    cocos2dx-lua中Label文本设置自动换行

    开发环境:cocos2dx 3.17 开发语言:lua 我们在开发过程中,经常会遇到字符串过长,显示的时候超出范围,这时我们可以设置Label自动换行function FunSetLinefeed( strText, nLineWidth ) --文本,行宽 --读取每个字符做中文英文判断,并且记录大小 local nStep = 1 local index = 1 local ltab

    日期 2023-06-12 10:48:40     
  • cocos2dx-Lua中Label文本超过特定长度使用...代替

    cocos2dx-Lua中Label文本超过特定长度使用...代替

    开发环境:cocos2dx 3.17 开发语言:lua 我们在开发过程中,经常会遇到字符串过长,显示的时候超出范围,我们可以用...来代替字符串后面的内容。代码: function getStrByLen(str, len) if str == nil or len == nil then return end local limitStr = str

    日期 2023-06-12 10:48:40     
  • Cocos2d-x学习笔记(一)

    Cocos2d-x学习笔记(一)

    Cocos2d 中一些验证正则表达式:邮箱:#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) regex pattern("([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)"); if (! std::regex_match(m_pR

    日期 2023-06-12 10:48:40     
  • Cocos2dx2.X 下获取当时间

    Cocos2dx2.X 下获取当时间

    long long getCruTime() { struct cc_timeval now; CCTime::gettimeofdayCocos2d(&now, NULL); return (now.tv_sec * 1000 + now.tv_usec / 1000); }复制Mark这里获取的时系统计时.

    日期 2023-06-12 10:48:40     
  • cocos2dx-Lua角度与弧度的转换

    cocos2dx-Lua角度与弧度的转换

    (adsbygoogle = window.adsbygoogle || []).push({}); 在游戏开发过程中,很多地方都需要用到一个角度和弧度的计算,见代码角度转弧度-- @function [parent=#math] angle2radian function math.angle2radian(angle) return angle * math.pi / 1

    日期 2023-06-12 10:48:40     
  • cocos2dx-lua返回指定文件的大小

    cocos2dx-lua返回指定文件的大小

    (adsbygoogle = window.adsbygoogle || []).push({}); 返回指定文件的大小,如果失败返回 false-- @function [parent=#io] filesize -- @param string path 文件完全路径 -- @return integer#integer function io.filesize(path)

    日期 2023-06-12 10:48:40     
  • Cocos2d-x3.0多线程异步加载资源实例

    Cocos2d-x3.0多线程异步加载资源实例

    Cocos2d-x从2.x版本到上周刚刚才发布的Cocos2d-x3.0Final版,其引擎驱动核心依旧是一个单线程的“死循环”,一旦某一帧遇到了“大活儿”,比如Size很大的纹理资源加载或网络IO或大量计算,画面将不可避免出现卡顿以及响应迟缓的现象。从古老的Win32GUI编程那时起,Guru们就告诉我们:别阻塞主线程(UI线程),让Worker线程去做那些“大活儿”吧。 手机游戏,即便是休闲

    日期 2023-06-12 10:48:40     
  • 从Cocos2d-x2迁移到Cocos2d-x3的过程分享

    从Cocos2d-x2迁移到Cocos2d-x3的过程分享

    核心代码迁移相对顺利,大致流程如下: 一、创建项目    1)cdcocos2d-x-3.0rc0;   2)执行setup.py,设置引擎依赖的环境变量,脚本会将COCOS_CONSOLE_ROOT和ANT_ROOT写入到~/.bash_profile中;执行source~/.bash_profile使得环境变量生效;   3)在cocos2d-x-3.0rc0下建立projects目录;  

    日期 2023-06-12 10:48:40     
  • Cocos2d-x入门教程(详细的实例和讲解)

    Cocos2d-x入门教程(详细的实例和讲解)

    智能终端上的游戏目前风头正劲,试问哪个智能手机上没有几款企鹅公司出品的游戏呢!之前从未涉猎过游戏开发,但知道游戏开发前要挑选一款合适的游戏引擎,自己从头开始敲代码的时代已经out了。在寻觅游戏引擎之前,我需要回答三道摆在我面前的选择题:    1、2D引擎还是3D引擎?   2、平台专用引擎还是跨平台引擎?   3、收费引擎还是开源引擎? 作为入门级选手,2D游戏显然更适合上手一些,另外适合果果

    日期 2023-06-12 10:48:40     
  • Cocos2d-x学习入门之HelloWorld程序

    Cocos2d-x学习入门之HelloWorld程序

    一、前言: Cocos2d-x是目前非常流行的开源移动2D游戏框架。本文HelloWorld示例程序中使用的Cocos2d-x版本是2.0,主要实现一个简单的入门程序。 二、HelloWorld程序: HelloWorld程序是很多编程语言的入门程序,对于程序员来说非常重要。 打开本文项目后可以看到AppDelegate.h/.cpp和HelloWorldScene.h/.cpp四个文件,比一般

    日期 2023-06-12 10:48:40     
  • Cocos2d-x学习笔记之开发环境搭建

    Cocos2d-x学习笔记之开发环境搭建

    要问如今什么比较火,当然是手机app了,随之智能机的普及,不断推出了越来越多的手机app,而游戏其实也是一种app。cocos2d-x一款免费游戏开发引擎,本着开源、跨平台的特色,成为了越来越多的手机游戏的开发引擎,所以让我们也来学习cocos2d-x这款游戏引擎吧。通过学习cocos2d-x,我们将了解更多关于游戏开发的知识,比如lua脚本、Box2d物理引擎、代码设计思想等等。总之,我们并不

    日期 2023-06-12 10:48:40     
  • Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验

    Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验

    结论:实践证明这三个东西的默认坐标都是0,0默认锚点都是0.5,0.5。 boolHelloWorld::init() { boolbRet=false; do { CC_BREAK_IF(!CCLayer::init()); CCSprite*sprite=CCSprite::create("image1.png"); this->addChild(sprite);

    日期 2023-06-12 10:48:40     
  • Cocos2d-x中使用CCScrollView来实现关卡选择实例

    Cocos2d-x中使用CCScrollView来实现关卡选择实例

    类似关卡选择的这种功能游戏中经常看到,比如帮助场景,选择关卡,通过滑动的方式选择一些其他的东西等等。今天我们实现关卡的选择是使用CCScrollView这个类。当然还有一些其他的方法,比如使用cocostudio的pageview也可以。我先说下整体的思路,CCScrollView这个类是继承自CCLayer的,本身的触摸事件有些bug,所以网上一般将这个层的touch事件处理为false,而使

    日期 2023-06-12 10:48:40     
  • Cocos2d-x中调用Lua及HelloWorld.lua源码分解

    Cocos2d-x中调用Lua及HelloWorld.lua源码分解

    Lua脚本,以前我不知道它有多强大,但是当我做了1年的手机网游之后,起码我发现了,更新客户端是一件很恐怖的事情(会导致大量玩家的流失,以及有一个漫长并且惊心动魄的审核过程),太扯了。于是,如果可以只更新脚本,那就不需要玩家重新下载客户端了,直接在线更新,嗯嗯,虽然我发现了这个,但是还没有实现。噗,代码写烂了,不好改。   所以啊,我已经做好准备了,如果下次用cocos2d-x开发,lua不可少啊

    日期 2023-06-12 10:48:40     
  • Cocos2D创建多彩文本显示标签

    Cocos2D创建多彩文本显示标签

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Cocos2D中默认的CCLableTTF类从源代码里看是支持多彩以及粗体之类的字符显示属性的,但可惜的是在最新的几版的cocos2D里,只能使用单色属性,否则App就会崩溃. 在Github中cocos2D的源代码里,可以看到各位大牛已经发现了这个

    日期 2023-06-12 10:48:40     
  • Cocos2D结合CoreGraphics实现RPG人物中空黑洞吸入效果

    Cocos2D结合CoreGraphics实现RPG人物中空黑洞吸入效果

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Creates a circular area that pushes the image pixels outward, distorting those pixels closest to the circle the most. Localiz

    日期 2023-06-12 10:48:40     
  • Cocos2D在Xcode7和iOS 9.2上IMP调用出错

    Cocos2D在Xcode7和iOS 9.2上IMP调用出错

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) -(id)invokeSelectorNamed:(NSString *)selectorName{ SEL selector = NSSelectorFromString(selectorName); IMP imp = [self meth

    日期 2023-06-12 10:48:40     
  • Cocos2D两个方法的重构一例

    Cocos2D两个方法的重构一例

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) -(instancetype)initWithGameScene:(GameScene *)gameScene mapName:(NSString*)mapName; 功能主要为用指定的地图初始化游戏空间布局,后来由于使用方便的原因,增加了一个类似的

    日期 2023-06-12 10:48:40     
  • Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(三)

    Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(三)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 下面看一下CatSprite中最复杂的moveToward方法,我们一开始只是想要确保cat在屏幕上正确显示出来,动画正确播放出来,所以可以先不管与地图碰撞检测的问题.于是简化到如下代码: -(void)moveToward:(CGPoint)targ

    日期 2023-06-12 10:48:40     
  • Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(二)

    Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(二)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) -(id)initWithMainScene:(MainScene*)mainScene; -(void)moveToward:(CGPoint)targetLocation; -(void)moveTowardOneTile:(CGPoint)lo

    日期 2023-06-12 10:48:40     
  • Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(一)

    Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先说一下为什么要转换,这是为了后面的A*寻路算法做准备.由于在v1.0中,可能是Cocos2D本身有问题,以下 touchLocation = [_tileMap convertTouchToNodeSpace:touch]; 方法在执行到地图左

    日期 2023-06-12 10:48:40     
  • 如何在Cocos2D 1.0 中掩饰一个精灵(六)

    如何在Cocos2D 1.0 中掩饰一个精灵(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) - (CCSprite *)maskedSpriteWithSprite:(CCSprite *)textureSprite maskSprite:(CCSprite *)maskSprite { // 1 CCRenderTexture *

    日期 2023-06-12 10:48:40     
  • Cocos2D:塔防游戏制作之旅(十三)

    Cocos2D:塔防游戏制作之旅(十三)

    让我们看一下Waves.plist文件,你将注意到它包含了3个数组.每一个数组表示一波攻击,也就是一组敌人一起到达闹事.第一个数组包含6个字典.每一个字典定义1个敌人. 在本次教程中,字典只存储敌人应该出现的时间,但是该字典也可以用来定义敌人的类型或者其他任何区分敌人的特殊属性. loadWave方法检查下一波攻击应该何时出现,基于攻击波的信息创建对应的敌人,并且将它们调度出现到屏幕上. 方

    日期 2023-06-12 10:48:40     
  • Cocos2D:塔防游戏制作之旅(八)

    Cocos2D:塔防游戏制作之旅(八)

    注意:在方法最后的bridge语法需要做一些解释.你下载的初始项目已经为一 些文件打开ARC,但不是Cocos2D的所有文件.当你存储一个CCSprite属性 (non-ARC)到你自己的炮塔对象的指针(ARC)中去时,__bridge指导告知编 译器仅仅简单存储指针,但是不传递所有权.更详细的内容可以在 http://www.mikeash.com/pyblog/friday-qa-20

    日期 2023-06-12 10:48:40     
  • Cocos2D旋转炮塔到指定角度(二)

    Cocos2D旋转炮塔到指定角度(二)

    // Determine angle to face float angleRadians = atanf((float)offRealY / (float)offRealX); float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians); float cocosAngle = -1 * angleDegrees; _player.ro

    日期 2023-06-12 10:48:40     
  • Cocos2D旋转炮塔到指定角度(一)

    Cocos2D旋转炮塔到指定角度(一)

    原文地址:Rotating Turrets: How To Make A Simple iPhone Game with Cocos2D 2.X Part 2 翻译有节选和删除. 在你旋转炮塔之前,首先你要计算出需要旋转的角度. 为了计算,回忆一下高中的三角学.还能记住助记词SOH CAH和TOA吗?它可以帮助你回忆三角形角的正切(Tangent)等于对边比临边,如下图所示: 就像上图

    日期 2023-06-12 10:48:40     
  • Cocos2D中屏幕分辨率解释

    Cocos2D中屏幕分辨率解释

    因为项目一般是横屏(landscape)模式,这表示右上角坐标在3.5寸屏上为(480,320), 在4寸屏上为(568,320). 注意:如果你曾经在iOS上编写过程序的话,你会提出质疑:等一下!我记得在4寸屏上是1136x640像素而不是536x320像素啊! 你是对的!但是Cocos2D工作在点上,而不是像素上.在高清屏设备上(Retina display devices),1点 =

    日期 2023-06-12 10:48:40     
  • Cocos2D中使用CCDrawNode绘制几何图形崩溃的解决

    Cocos2D中使用CCDrawNode绘制几何图形崩溃的解决

    但是官方的Api手册中说的很清楚,CCDrawNode只推荐放在游戏的调试中调用,因为改变其状态必须先删除再重新添加,导致在绘制大量复杂几何图形时性能会很差. 在cocos2D v2.x中直接调用OpenGL的绘制一般放在draw方法中,但是在v3.4中实际测试发现,将CCDrawNode的绘制放在draw会导致App崩溃,错误大意为不能在遍历数组时改变其中的元素状态. 我推测是因为在draw

    日期 2023-06-12 10:48:40