우리의 현재 프로젝트는 cocos2d-js 에 의해 개발되었으며, 나는 이 프로젝트들을 egret 으로 이전할 계획이다. 몇 가지 이유가 있습니다.
1, cocos ide 에는 bug 가 있습니다. 중단점이 충돌하고, 코드 힌트가 떨어지고, 메모리가 너무 높고, 가상 시스템 메뉴 막대가 이벤트에 영향을 줍니다 (메뉴 모음 버그 다중 반복은 아직 수정되지 않음).
2.studio 의 워크플로우는 몇 가지 엔진 중 최악이며 버그가 있습니다. 종종 실제 성과와 일치하지 않는다. 그리고 메모리 사용량이 크면 충돌할 수 있다. 상속할 수 없습니다. (이 문제는 가장 심각하며 키를 상속할 수 없으므로 확대/축소와 같은 고급 기능을 누르는 것은 매우 고통스럽습니다.)
3,
건물이 너무 나쁘다. 작은 함수를 쓰는 데는 문제가 없다. 만약 네가 대형 게임을 쓰고 싶다면, 이 구조는 너를 미치게 할 것이다! 예를 들어, 가장 간단한 버튼 이벤트는 이벤트 메서드에 터치 유형 판단을 추가해야 합니다. 아주 간단한 클릭입니다.
비슷한 코드가 많이 있습니다! 4. 몇 가지 UI 세트가 있지만 각 세트에는 버그가 있습니다. CCUI 의 디자인도 엉망이에요! 붕괴의 주범이기도 합니다.
5, 엔진 버그 문제,
많은 버그가 당신을 울게 만들 것입니다. 예를 들어 좌표가 정의되지 않았습니다. 또 다른 예로, 열쇄신 버그가 있습니다. XCODE 컴파일 패키지는 JSC 가 아닌 js 로 기본 설정됩니다. 이 가방이 출시되면 상점은
한 가지 문제는 핫 업데이트를 할 수 없고, 동시에 게임에 들어갈 수 없고, 핫 업데이트 인터페이스에 끼워져 있다는 것이다. (이 문제로 인해 Apple Store 가 감사 직책을 통과할 때까지 3 개월 동안 사용자가 유실되었습니다.) 또 다른 예를 들어보겠습니다.
Java/objectc 와 js 의 상호 작용에 문제가 있습니다! 또 다른 예로, IOs 타사 입력기 때문에 작동이 멈출 수 있습니다!
6. 워크플로우 문제: IDE 중단점의 관찰 변수가 불친절하고, studio 내보내기의 구성이 크며, studio 의 확장성이 떨어집니다. IDE 1.2 가 나올 때까지 우리 팀은 깨진 지점도 깨지지 않고 로그 디버그만 인쇄할 수 있었습니다.
7, 생산성, 코드 힌트는 잠시 말하지 않습니다. 나는 간단한 목록을 반나절 동안 던질 수 있기 때문에 ccui 의 목록은 정말 쓸모가 없다! 또 자르기와 마스크는 한 줄의 코드만 있으면 되고, cocos 아래에는 무수한 행이 필요하다!
8,
엔진 업그레이드 문제: cocos 는 약 1 1 개월 업그레이드, 백로는 2 주입니다. 그러나 cocos 업그레이드는 많은 새로운 버그를 가져오며 호환성이 떨어집니다. 이것이 우리가 여전히 3.0 버전을 사용하는 이유입니다
벤. 가장 고통스러운 것은 3.6 공식판이 더 이상 깨질 수 없다는 것이다! 3.0 에서 3.6 으로 업그레이드하면 레이아웃 혼란, 구궁 실패, 충돌 플래시 후퇴 (절대 코드 문제가 아님) 도 발생할 수 있습니다! 기본적으로
Cocos 는 새로운 기능을 추가할 때마다 수많은 새로운 버그를 가져오며, 오래된 버그의 수도 많지 않다. 우리 포럼의 피드백은 종종 2 ~ 3 가지 버전을 반복해야 고칠 수 있다. 다음 버전에서는 아르바이트를 고칠 수 없습니다. 하지만
백로는 반복이 빠를뿐만 아니라 버그 복구에도 부지런하다! 제품 품질을 초래한 검증 버그도 매우 적다.
9. 공식 태도: 제가 cocos 포럼에서 보낸 버그 피드백은 7 일이 지나서야 답글이 나왔습니다. 주소 (3.0 ~ 3. 1 및 3.2 의 버그, 공식적으로 보세요) 그리고 백로의 버그 피드백을 보세요. 그때는 이미 퇴근했는데, 다음날 아침 일찍 답장을 받았다. 주소 (백로 커뮤니티-버그 목록)
10, API 문제: cocos 는 세 가지 주요 버전을 거쳤으며 공식 API 문서에도 API 가 있지만 실제로는 없습니다. 공식 답변은 아직 js 바인딩이 추가되지 않았다는 것이다.
1 1. 플랫폼 간 문제: cocos2d-js 는 HTML5 와 JSB 간에 종종 일치하지 않습니다. 따라서 이제 JSB 에만 집중하고 HTML5 버전을 포기할 수 있습니다. 백로는 이 문제가 거의 없다.
12,
성능 문제: 먼저 런타임을 제거합니다. 만약 당신이 ccui 를 사용한다면, 나 100% 는 당신의 cocos2d-js 의 성능이 백로에 의해 제거될 것이라고 보장합니다. Native 에 대해 이야기해보죠.
Cocos 의 사람들은 성능에 비해 백로가 js 가 쓴 논리로 묶여 있다고 말한다. 그럼 문제가 생겼네요. 현재 js 논리로 인한 성능 스트레스는 전혀 문제가 되지 않습니다 (
Node.js, js 로 서버를 쓸 수 있습니다. 주요 성능 압력은 실제로 렌더링에 있으며 둘 다 OpenGL 로 렌더링됩니다. Ccui 를 사용한다면, 여전히
백로 이삭. 그리고 ccui 가 가져온 drawCall 은 정말 대단했습니다! ! 런타임을 다시 한 번 말씀드리겠습니다. Egret 은 현재 많은 브라우저가 런타임 (OpenGL 사용 가능) 과 통합되어 있습니다.
Cocos-js 는 단지 한 걸음 뒤처졌다고 말하는 반면 렌더링은 캔버스 렌더링이 아닙니다.
13, 제품 로드맵 문제: cocos 의 몇몇 제품들은 모두 3D 에서 허리를 굽혔고, egret 은 이미 IDE 를 구축했다. 기본적인 생명 cocos 를 개발하는 것은 보장되지 않기 때문에 u3d 와 한 판 치고 싶다!
14, 내부 문제: cocos 는 내부가 많이 조화되지 않을 것으로 예상하고, ide 는 1 사람이 개발했고, studio 는 30 명이 개발했으며, studio 는 사용된다고 합니다. 그물, 가장 크로스 플랫폼 기술! QT, AIR, 이렇게 효율적이고 확장 가능한 기술은 필요 없어 선택했습니다. 그물. 。 。 。
--
제목
외국어: 코코스에 대해서 그렇게 많이 말했는데, 나도 그것을 사랑하려고 노력한다. 나는 심지어 백로로 하나를 개발했다.
Wing 과 같은 UI 편집기는 Flash/Flex 와 같은 API 를 작성했습니다 (Egret 은 이것을 사용합니다, 이 아키텍처는 사용하기 쉽습니다). 이 가운데 UI 편집기도 추가되었습니다
Unity3d 바인딩 스크립트의 기능. 하지만 cocos 밑바닥에 있는 몇몇 짜증나는 버그가 결국 포기했기 때문이다. (윌리엄 셰익스피어, 템페스트, 희망명언) 백로차가 있으면 내가 또 어떤 바퀴를 만들 수 있을까? 나는
내 손에 있는 이 코코스의 물건은 오픈소스이다. 그럼 백로로 가자!
--
또 다른 여담:
게임 엔진 cocos2d-js 와 egret 비교
이것은
이것은 Baidu 의 첫 번째 검색의 비교입니다. Cocos2d 는 egret 보다 더 많은 도구를 가지고 있습니다. 나는 부인하지 않지만, 기본적으로 쓸 만한 것이 없다. 백로의 도구는 매우 안정적이다. 가장 간단한 뼈로 움직이다.
그림 그리기, cocos 는 용골도 지탱하지 않고 studio 의 뼈 디자인도 좋지 않다. 백로의 골격 설계 도구는 인터페이스와 실용성에서 studio 를 완전히 폭파시켰다!
먼저 위 주소의 성공 제품: 고기잡이 달인, 도타 전설, 제 이름은 DOTA 입니다. 모두 cocos2dx 가 쓴 것입니다. js 판과는 무관합니다! 여러분 홈페이지판의 보탑 전설을 본 적이 있습니까?
위의 개발 언어와 비교했을 때, ts 는 정말 js 가 큰 프로젝트에 대한 완전한 폭발이다! Js, 조심하지 않으면 실수를 합니다. 정말 큰 프로젝트에 적합하지 않다. 그렇지 않으면 마이크로소프트도 이 바퀴를 만들지 않을 것이다.
Cocos2d-js 의 문서에는 위의 참조 자료와 비교했을 때 매개 변수에 대한 주석도 없고 c++ 의 문서와도 참조할 수 없습니다. 많은 매개 변수가 일치하지 않습니다! 백로는 개발 도구에서 중국어의 도움을 물려받았다.
현재의 상황으로 볼 때, 올해는 확실히 백로 제품의 우물 분출의 해이다. 믿지 마! 코코스가 정말 날 망쳤어!
--
또
두 번째는 cocos2d-js 나 JSB 의 대작을 가져가세요. 2dx 물건은 가져가지 마세요. 2dx 에 대해 말하자면, 한번 봅시다. 명단에 얼마나 많은 사람들이 엔진 소스 코드를 바꾸지 않았습니까? 얼마나?
게임은 cocos 엔진 업그레이드를 통해 업그레이드 할 수 있습니다. 얼마나 많은 사람들이 studio 를 사용합니까? 나는 왕철스를 강요하고 싶지는 않지만, 나는 네가 버그를 직시하고 경험을 향상시킬 수 있기를 바란다. 만약 좋다면 우리 팀은 고려할 것이다.
Cocos 기술, 그렇지 않으면 egret 및 unity3d 만 사용할 수 있습니다. 나는 cocos 가 이렇게 많이 틀렸다고 말했는데, 그가 성장하여 개발자에게 더 많은 이점과 편리함을 가져다 주길 바란다.
각종 허튼소리 문제, 각종 엉터리 수단으로 발전하다. 그리고 내가 말한 이 몇 가지 점 @ 왕철
네가 가지고 있어. 만약 내가 이 버그와 문제들을 말하지 않는다면, 나도 반드시 고치지는 않을 것이다. 백로는 또 왕택이라는 사람이 있다. 하지만 그의 이념은 전적으로 우리 개발자가 사용자여서 개발 체험을 향상시킬 수 있다는 것이다.
이것은 매우 중요합니다.