xcode5 cocos2d-x3.0 二 第一个项目(你好,亮哥)

2023-11-04 09:20

本文主要是介绍xcode5 cocos2d-x3.0 二 第一个项目(你好,亮哥),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先新建一个项目



next




next  然后保存到一个你希望的位置。


OK项目建完了,开始看一下结构。




Group&Files 


1.Resources


Default.png 加载IOS显示的图片
Icon.png 应用图标
fps_images.png cocos2d显示帧,不润徐删除或者修改
Info.plist 应用程序相关的配置信息


2.main.m


大多数时候不需要对main.m进行修改,main和AppDelegate之间的操作都是由iphone sdk自行处理的。
可以理解成,main函数创建了NSAutoreleasePool,调用UIApplicationMain来启动应用程序,AppDelegate用来实现UIApplicationDelegate协议类。


3.prefix.pch
快速预编工具,永远不会变化或者很少发生变化的头晚间才能被添加到当前缀头文件中。


4.AppDelegate类
AppDelegate类通过特定时间从设备接收消息来追踪应用程序的状态变化。
应用程序收到的第一个消息是applicationDidFinishLaunching方法,cocoa2d的初始化代码都是写到这个方法里面。其中

FPS显示开关
pDirector->setDisplayStats(true);


设置刷新率 1/60 ,ios设备最好的情况是每秒60帧,这个跟游戏逻辑复杂性有直接关系,当然可以设置低一点。
游戏过于复杂FPS值不停波动,这样会影响游戏体验,如果真是这样,那么就可以思考一下代码的质量了
pDirector->setAnimationInterval(1.0 / 60);


当应用程序是不活跃时或来电时,都会调用
applicationDidEnterBackground()方法


当应用程序再次活跃的时候,调用
applicationWillEnterForeground()方法


5.写一个helloWorld

[cpp]  view plain copy print ?
  1. bool HelloWorld::init()  
  2. {  
  3.     //  
  4.     // 1. super init first  
  5.     if ( !CCLayer::init() )  
  6.     {  
  7.         return false;  
  8.     }  
  9.   
  10.     /  
  11.     // 2. add a menu item with "X" image, which is clicked to quit the program  
  12.     //    you may modify it.  
  13.   
  14.     // add a "close" icon to exit the progress. it's an autorelease object  
  15.     CCMenuItemImage *pCloseItem = CCMenuItemImage::create(  
  16.                                         "CloseNormal.png",  
  17.                                         "CloseSelected.png",  
  18.                                         this,  
  19.                                         menu_selector(HelloWorld::menuCloseCallback) );  
  20.     pCloseItem->setPosition( ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20) );  
  21.   
  22.     // create menu, it's an autorelease object  
  23.     CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);  
  24.     pMenu->setPosition( CCPointZero );  
  25.     this->addChild(pMenu, 1);  
  26.   
  27.     /  
  28.     // 3. add your codes below...  
  29.   
  30.     // create and initialize a label  
  31.     CCLabelTTF* pLabel = CCLabelTTF::create("你好:亮哥""Thonburi", 60);  
  32.   
  33.     CCLabelTTF* labelm  =   CCLabelTTF::create("qq:11674183""Thonburi", 34);  
  34.   
  35.     labelm->setColor(ccc3(186,30,46));  
  36.       
  37.     labelm->setPosition(ccp(450.0f,400.0f));  
  38.       
  39.     this->addChild(labelm);  
  40.       
  41.     // ask director the window size  
  42.     CCSize size = CCDirector::sharedDirector()->getWinSize();  
  43.   
  44.     // position the label on the center of the screen  
  45.     pLabel->setPosition( ccp(size.width / 2, size.height - 80) );  
  46.   
  47.     // add the label as a child to this layer  
  48.     this->addChild(pLabel, 1);  
  49.   
  50.     CCSprite* pSprite = CCSprite::create("dada.png");  
  51.   
  52.     // position the sprite on the center of the screen  
  53.   
  54.     pSprite->setPosition(ccp(100.0f, 300.0f));  
  55.       
  56.     // add the sprite as a child to this layer  
  57.     this->addChild(pSprite, 0);  
  58.       
  59.     return true;  
  60. }  

这篇关于xcode5 cocos2d-x3.0 二 第一个项目(你好,亮哥)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/344799

相关文章

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

《在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南》在SpringBoot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制... 目录如何选择实现方案核心实现:应用层手动分离实施中的关键问题与解决方案总结在Spring Boot和

gitlab项目实现添加新成员

《gitlab项目实现添加新成员》:本文主要介绍gitlab项目实现添加新成员方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录gitlabhttp://www.chinasem.cn项目添加新成员1、进入项目2、手动输入要添加成员的账号或者搜索总结gitlab项

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境