2013-12-20 3 views
7

Cocos2d-x 3.0 알파가 얼마 동안 발표되었습니다. cocos2dx-2보다 개선 된 점은 무엇입니까?cocos2d-x 2.x보다 cocos2d-x 3.0을 사용하면 어떤 이점이 있습니까?

기능 목록은 매우 중요하지만 성능면에서 새로운 제한 사항이 있습니까?

성능, 개발 패턴, API 및 지원이 실제로 향상 되었습니까?

+2

아마 공식 사이트에서 릴리스 정보를 읽어야합니다. 그들은 거기에있는 모든 것을 언급했습니다. –

답변

10

저는 최근에 그것을 사용 해왔고 주목할 점은 모든 것이 현재 네임 스페이스라는 점입니다. 따라서 객관적인 c 패턴에서 나온 접두어로 된 이름을 다룰 필요가 없으므로 cocos2d :: CCPoint 대신 Point (특히 enums의 경우) (kCCTexture2DPixelFormat_RGBA8888 대신 Texture2D :: PixelFormat :: RGBA8888)).

이벤트 물건 중 일부는 이제 C++ 11 람다를 지원합니다. 변경

보다 전체 목록은 여기에서 찾을 수 있습니다 :

하지만 나 자신을 사용하는 대부분의 경우 http://www.cocos2d-x.org/wiki/Release_Notes_for_Cocos2d-x_v300, 그냥 대신 같은 목표 - C의, ++보다 C 같은 느낌이 만들어졌다.

2

Cocos2d-x 2.1.5와 2.2 사이에서 일어난 변화 중 하나는 XCode 프로젝트의 템플릿 제거였습니다 (VS에 프로젝트 템플릿이 존재하는지 모르겠다).

새로운 빌드 시스템은 Cocos2d-x 설치 (적어도 Mac에서는)에서 프로젝트를 생성하고 프로젝트 파일이 프로젝트 파일을 참조하는 것으로 보입니다. 따라서 손으로 조정할 필요없이 프로젝트를 옮기는 것이 매우 어렵습니다. 또한 시스템을 설정하는 방법 (예 : svn과 같은 루트/트리 또는 git과 같은 "어디에서나 드롭")에 따라 구성 관리를 더욱 어렵게 만듭니다.

또한 Cocos2d-x 라이브러리는 라이브러리로 구축됩니다. 이전의 화신에서는 프로젝트에 직접 배치되었습니다. 한편으로는 루트 라이브러리 코드를 변경하지 않으면이 점이 적합합니다. 반면에 특정 프로젝트의 작업을 가끔씩 조정할 경우 프로젝트에 의존하는 모든 프로젝트가 변경되었습니다. 음양.

저는 Cocos2d-x에서 여전히 매우 긍정적입니다. 아직 3.0 또는 2.2로 업그레이드하지 않았습니다. 그것이 조금 더 성숙 될 때, 나는 변화에 관계없이, 넘어서 전환 할 것이다. 내가 필요로하는 것을 위해, 나는 그것이 일을 잘 끝낼 것이라고 꽤 확신한다 (잘).

+0

Mac에서 v3을 시작하려는 시도에 대한 업데이트 설명 - "cocos new"명령 줄은 사용자가 지정한 디렉토리에서 매우 원활하게 프로젝트를 생성합니다. –

+0

@AndyDent 최근에 3.0에서 3.2로 프로젝트를 업그레이드했으며 현재 3.2로 활발히 작업 중입니다. 지금까지 "OK"로 보입니다. 아직도 모든 뉘앙스를 알아 내지 못했지만 https://www.youtube.com/watch?v=HWiiExd16Cs를 실행 해 볼 수있었습니다. – FuzzyBunnySlippers

+1

의견에 감사드립니다. 나는 휴가 (이전 MBP)에서 XCode 4.6에 붙어있어 v2가 v3에 구축되지 않았기 때문에 v2.2에 머무를 필요가있다. 그러나 피드백에 따라 3.2 (3.3rc0을 다운로드했다)를 시도 할 것이다. –

3

생각의 C++ 11

  1. 자동
  2. 람다

그리고 내가 전환하고 꽤 안정을 찾는하고

4

접두사 CC의 불필요한 사용이 없습니다 . 대신 메뉴의 지금까지의 주요 장점 ...

  • 리얼 버튼,
  • 실시간 spritesheets
  • SpriteBatchNodes가 더 이상 추천 내가 무승부 하락 봤어 내가
  • 을 최적화되지 않은 경우는 호출하지
  • 덜 객관적인 C 패턴.
  • 더 현대적입니다. 'CC'대신에 네임 스페이스. C++ 11.

    • 의 EventListener 패턴 :
    • 더 많은 플랫폼은 나를 위해

    홈페이지 단점을 지원했다. 이벤트를 트리거 한 노드 이외의 다른 객체에 영향을주기 위해 터치 입력을받는 방법을 알아낼 수 없습니다.

  • 우리는 디버깅을 위해 많은 텍스트 전용 버튼을 사용하며 레이아웃하기가 어렵습니다.
  • 설명서 및 예제 코드가 부족합니다. 예를 들어 어디서나 레이아웃 클래스를 사용하는 방법에 대한 문서를 찾을 수 없습니다.

많은 작업 포팅이 필요하지만 우리는 오래된 코드 기반을 유지하게 될 것이므로 위험에 처해야했습니다. 우리 게임을 포팅하는 데 약 5 인 - 일이 걸렸습니다. 게임은 이제 안정적이며 우리는 코코스에서 하나의 버그에 부딪치지 않았습니다.

+3

EventListener 패턴에 대해 틀렸고 람다 식을 이해하지 못했습니다. 패턴은 훌륭합니다. – ohthepain