데이터 베이스 MySQL 튜토리얼 cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

Jun 07, 2016 pm 03:43 PM
장면 공부하다 메모 꼬마 요정

(自学用,不是什么大师,有不对的地方欢迎交流) 注意:本人这里主要讲的是框架搭建,从框架到细节,注重框架的讲解,其他知识等需要自己去查询。如果这个框架思想你领悟了 ,学起来会很快,而且自己知道需要什么,该学什么。带着需求去学,比学完再去应用

         (自学用,不是什么大师,有不对的地方欢迎交流)

       注意:本人这里主要讲的是框架搭建,从框架到细节,注重框架的讲解,其他知识等需要自己去查询。如果这个框架思想你领悟了 ,学起来会很快,而且自己知道需要什么,该学什么。带着需求去学,比学完再去应用的方式,掌握知识的速度要快的多,个人见解。

        场景就是一段完整有意义的舞台,是一类内容的集合。比如做游戏的时候,有游戏场景,有商店场景。当然你可以将商店作为游戏场景的一层,但是单一场景的层多了,势必会影响运行速度和增加内存的使用。

       如果一个游戏场景有许多对象(cocos2d中称为精灵)组成,比如背景图片,玩家角色,按钮等,那么就是将精灵按照不同的目的进行分组。

       用层分组的好处:

        1.可以整体操作当前层上的所有对象,不需要关心每个如何变化,比如渐变,消失等

        2.层有点像PhotoShop中的层,不同的层相互之间有遮挡关系。

       继续上面的例子,现在我将背景图片放一层 ,玩家角色放一层,控制放一层。玩家在走动的时候肯定要遮挡你后面的背景,当然有好几排房子那种,你可以在角色层上面添加景物层 ,相互遮挡。最上面放控制层,但你安静音,暂停的时候你不希望角色挡住了按钮,使你不能静音,暂停吧?如图1所示:(作图工具为OmniGrafflePro-5.4.x for mac)

        cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

图1

那么这些层所在的容器就是场景,场景就是一个抽象的假象空间,存放层和精灵。


场景创建:

           Loading.h

             cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

     只有

static cocos2d::CCSence *scene();
로그인 후 복사
有用其他两句是用于初始化层init()和创建层(CRETE_FUNC(Loading))的。在实际用的过程中经常自己写自己的初始化和创建函数。


先来创建一个层,场景本身是空的什么都没有。所以加载一个层来放东西。

LoadingScenery.h //用于放景物

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

static LoadingScenery *createLS();
로그인 후 복사
这句话是公共的,对外的接口,当场景加载这个层的时候,必须通过这个函数来生成层对象。CreateLS()内部会通过LSinit();函数对对象进行初始化。

当此函数调用的时候会返回一个已经初始化完的层对象。

自己写create函数名字可以自定,内容可以自己根据需要写,且可以传参数。而CREATE_FUNC虽然方便但相对死板。

【插曲】爸爸送来了好吃的。。。( ⊙o⊙ )哇 ,切糕~~好吃好吃cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

bool LSinit();
로그인 후 복사
这个函数主要用于初始化层加载精灵等

层最基本需呀这两个函数。



LoadingScenery.cpp

通过Command+control+方向下键切换到.cpp实现文件中

先来看createLs函数

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

注意第一句LOCATION_INFORMATION是我自己写的一个用于显示当前执行段是在哪个文件哪个函数第几行,便于调试定位用的

等同于CCLog("-- %s -- %s -- %d", __FILE__,__FUNC__,__LINE);当然因为__FILE__会显示出完整物理路径,这是我不需要的我只要是哪个文件就行。所以做了写改变,最后再说。

这个函数主要是,创建一个对象,如果创建且初始化成功则返回,否则报错。注意CC_SAFE_DELETE这个宏多了层防护,具体自己查看研究。


下面来看初始化函数

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

最后,将这个层加载到刚才创建的场景中。

Loading.cpp//场景实现文件

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

其中

sence->addChild(layerScenery,1,10);
可以改为:sence->addChild(layerScenery);
로그인 후 복사
具体1,10参数什么意义,自己看addChild函数定义说明,或者查资料。

当然现在还不能运行,因为你还没有把这个场景放到屏幕上,下面我们就把这个放到屏幕上,需要修改下

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

OK ,到此就能运行到屏幕上了,结果:

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

为什么是竖屏?答案自己找吧。

总结:学东西最好先学框架,不要坠入细节,否则会很迷茫。编程就像搭积木一样,有些东西开始不理解那就固定下来,之后理解就好

比如:


        我要写个游戏,先找个场景吧,那就创建一个C ++ 类文件起个名字

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

游戏场景建好了,我需要个层来显示东西

   cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵         

加个背景层,首先建立一个C++ 类文件

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

然后通过

Game.cpp的 Scene函数加载下,就可以了,如果想多层如此循环操作,后加载层会遮盖先加载层,也可以通过addChild函数进行修改层的顺序和标号

好了 ,假设现在创建好了 几个场景 ,怎么切换呢?

cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵

这就看导演了 CCDirector 。。。一旦加上导演,场景之间可以切换,场景上还有节目,那么一个游戏的骨架就有了,里面你添什么东西就是什么游戏 



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 메모를 삭제하는 방법 Mar 21, 2024 pm 08:12 PM

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 앱에서 메모를 편집할 수 있습니다. 다음으로 편집기는 Xiaohongshu 메모 삭제 방법에 대한 사용자 사진과 텍스트를 가져옵니다. 보세요! Xiaohongshu 사용 튜토리얼 Xiaohongshu 메모 삭제 방법 1. 먼저 Xiaohongshu 앱을 열고 메인 페이지로 들어가서 오른쪽 하단에 있는 [Me]를 선택하여 특별 영역으로 들어갑니다. 2. 그런 다음 내 영역에서 다음과 같이 메모 페이지를 클릭합니다. 3. 노트 페이지에 들어가서 오른쪽 상단에 있는 [점 3개]를 클릭합니다. 4. 마지막으로 기능 표시줄이 하단에 확장되고 [삭제]를 클릭하여 완료합니다.

자율주행 시나리오에서 롱테일 문제를 해결하는 방법은 무엇입니까? 자율주행 시나리오에서 롱테일 문제를 해결하는 방법은 무엇입니까? Jun 02, 2024 pm 02:44 PM

어제 인터뷰 도중 롱테일 관련 질문을 해본 적이 있느냐는 질문을 받아서 간략하게 요약해볼까 생각했습니다. 자율주행의 롱테일 문제는 자율주행차의 엣지 케이스, 즉 발생 확률이 낮은 가능한 시나리오를 말한다. 인지된 롱테일 문제는 현재 단일 차량 지능형 자율주행차의 운영 설계 영역을 제한하는 주요 이유 중 하나입니다. 자율주행의 기본 아키텍처와 대부분의 기술적인 문제는 해결되었으며, 나머지 5%의 롱테일 문제는 점차 자율주행 발전을 제한하는 핵심이 되었습니다. 이러한 문제에는 다양한 단편적인 시나리오, 극단적인 상황, 예측할 수 없는 인간 행동이 포함됩니다. 자율 주행에서 엣지 시나리오의 "롱테일"은 자율주행차(AV)의 엣지 케이스를 의미하며 발생 확률이 낮은 가능한 시나리오입니다. 이런 희귀한 사건

Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Mar 21, 2024 pm 09:30 PM

Xiaohongshu 사용자로서 우리 모두는 게시된 노트가 갑자기 사라지는 상황을 경험해 본 적이 있을 것입니다. 이는 의심할 여지 없이 혼란스럽고 걱정스러운 일입니다. 이런 경우, 우리는 어떻게 해야 합니까? 이번 글에서는 "샤오홍슈에서 발행한 노트가 누락된 경우 어떻게 해야 할까요?"라는 주제를 중심으로 자세한 답변을 드리겠습니다. 1. Xiaohongshu에서 발행한 노트가 누락된 경우 어떻게 해야 합니까? 첫째, 당황하지 마십시오. 메모가 누락된 경우 침착함을 유지하는 것이 중요하며 당황하지 마십시오. 이는 플랫폼 시스템 장애 또는 운영 오류로 인해 발생할 수 있습니다. 출시 기록을 확인하는 것은 쉽습니다. Xiaohongshu 앱을 열고 "나" → "게시" → "모든 출판물"을 클릭하면 자신의 출판 기록을 볼 수 있습니다. 여기에서는 이전에 게시된 메모를 쉽게 찾을 수 있습니다. 3.다시 게시합니다. 발견된 경우

Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Mar 12, 2024 am 10:40 AM

Xiaohongshu 노트에 제품 링크를 추가하는 방법 Xiaohongshu 앱에서는 사용자가 다양한 콘텐츠를 탐색할 수 있을 뿐만 아니라 쇼핑도 할 수 있기 때문에 이 앱에는 쇼핑 추천 및 좋은 제품 공유에 대한 콘텐츠가 많이 있습니다. 이 앱에서는 일부 쇼핑 경험을 공유하고, 협력할 판매자를 찾고, 메모에 링크를 추가하는 등의 작업도 할 수 있습니다. 이 앱은 편리할 뿐만 아니라 많은 전문가가 만들 수 있기 때문에 많은 사람들이 쇼핑에 기꺼이 이 앱을 사용합니다. 흥미로운 콘텐츠를 탐색하고 자신에게 맞는 의류 제품이 있는지 확인할 수 있습니다. 노트에 제품 링크를 추가하는 방법을 살펴보겠습니다. 샤오홍슈 노트에 제품 링크를 추가하는 방법 휴대폰 데스크톱에서 앱을 엽니다. 앱 홈페이지를 클릭하세요

엘프와 민간인의 최강 라인업을 추천합니다. 엘프와 민간인의 최강 라인업을 추천합니다. Mar 22, 2024 pm 06:30 PM

플레이어는 마음대로 매치할 수 있는 Fighting Elves 게임을 플레이할 때 많은 엘프를 얻을 수 있습니다. 많은 플레이어가 가장 강력한 민간인 라인업을 매치하는 방법을 모릅니다. 다음은 모든 사람에게 권장되는 몇 가지 매칭 방법입니다. 싸우자 민간인 엘프의 최강 라인업은 뮤투, 레이콰자, 블래스토이즈, 리자몽, 이상해씨, 가이오그레 등 최강 라인업을 추천합니다. 이 라인업은 초반에 가장 강력한 라인업 중 하나입니다. 유산지아는 노비시즈에서 뛰어난 위력을 보여줬고, 후반부에서 무료로 얻을 수 있는 레이쿠자, 가이오가와 함께 이 라인업의 위력은 바로 T0까지 이어집니다! 최강 라인업 2종: X Charizard, Suicune, Pikachu, Rayquaza, Mewtwo. 이 라인업은 폭넓은 대응책을 갖춘 조합입니다. 서로 다른 속성을 지닌 다섯 마리의 애완동물을 사용함으로써 플레이어는 어떤 라인업에도 쉽게 대처할 수 있습니다. 최대

C 언어의 매력을 밝히다: 프로그래머의 잠재력을 발견하다 C 언어의 매력을 밝히다: 프로그래머의 잠재력을 발견하다 Feb 24, 2024 pm 11:21 PM

C 언어 학습의 매력: 프로그래머의 잠재력을 여는 것 지속적인 기술 발전으로 컴퓨터 프로그래밍은 많은 주목을 받는 분야가 되었습니다. 많은 프로그래밍 언어 중에서 C 언어는 항상 프로그래머들에게 사랑을 받아 왔습니다. C 언어의 단순성, 효율성 및 폭넓은 적용 덕분에 많은 사람들이 프로그래밍 분야에 입문하는 첫 번째 단계는 C 언어입니다. 이 기사에서는 C 언어 학습의 매력과 C 언어 학습을 통해 프로그래머의 잠재력을 발휘하는 방법에 대해 설명합니다. 우선, C 언어 학습의 매력은 단순함에 있습니다. C언어는 다른 프로그래밍 언어에 비해

Pygame 시작하기: 종합적인 설치 및 구성 튜토리얼 Pygame 시작하기: 종합적인 설치 및 구성 튜토리얼 Feb 19, 2024 pm 10:10 PM

처음부터 Pygame 배우기: 전체 설치 및 구성 튜토리얼, 특정 코드 예제 필요 소개: Pygame은 Python 프로그래밍 언어를 사용하여 개발된 오픈 소스 게임 개발 라이브러리로, 개발자가 다양한 유형을 쉽게 만들 수 있도록 풍부한 기능과 도구를 제공합니다. 게임의. 이 기사는 처음부터 Pygame을 배우는 데 도움이 될 것이며, 완전한 설치 및 구성 튜토리얼과 빠른 시작을 위한 특정 코드 예제를 제공할 것입니다. 1부: Python 및 Pygame 설치 먼저 다음 사항을 확인하세요.

워드에서 근수를 입력하는 방법을 함께 알아볼까요? 워드에서 근수를 입력하는 방법을 함께 알아볼까요? Mar 19, 2024 pm 08:52 PM

Word에서 텍스트 내용을 편집할 때 수식 기호를 입력해야 하는 경우가 있습니다. 어떤 사람들은 Word에서 근수를 입력하는 방법을 모르기 때문에 편집자에게 Word에서 근수를 입력하는 방법에 대한 튜토리얼을 친구들과 공유해달라고 요청했습니다. 그것이 내 친구들에게 도움이 되기를 바랍니다. 먼저 컴퓨터에서 Word 소프트웨어를 연 다음 편집하려는 파일을 열고 루트 기호를 삽입해야 하는 위치로 커서를 이동합니다. 아래 그림 예를 참조하세요. 2. [삽입]을 선택한 후, 기호에서 [수식]을 선택하세요. 아래 그림의 빨간색 원과 같이 3. 아래의 [새 수식 삽입]을 선택하세요. 아래 그림의 빨간색 원과 같이 4. [부수]를 선택한 후 해당 부수를 선택합니다. 아래 그림의 빨간색 원에 표시된 대로:

See all articles