Browsed by
Month: September 2014

Cài đặt và tạo project Cocos2d-x trên Mac OS

Cài đặt và tạo project Cocos2d-x trên Mac OS

Mấy nay tự dưng nổi hứng muốn ngâm cứu tí về game cho iOS. Dạo một vòng thì một số giải pháp được đưa ra:

  • SpriteKit: thằng này của Apple cho không biếu không, làm nhanh gọn lẹ, phải cái chỉ hỗ trợ iOS 7, thế nên là next, nghe đâu 30% tổng số máy iPhone hiện giờ vẫn còn chạy iOS 6 trở xuống.
  • Unity: ngon, và khủng, phải cái muốn xài full tính năng thì phải trả phí, mặc dù không biết có xài hết tính năng không nhưng mà cứ có phí là next.

Nên là mình quyết định sẽ đâm đầu vào Cocos 1 chuyến, nhanh gọn, lại là hàng free. Đến đây lại có thêm 2 lựa chọn khác (rắc rối vãi):

  • Cocos2D: mainly target iOS nên vì thế sẽ phát triển hoàn toàn bằng Objective-C (code Obj-C một thời gian tự dưng thấy yêu hẳn), tất nhiên cũng sẽ hỗ trợ mạnh mẽ Swift (cứ xem cái tên miền là thấy).
  • Cocos2d-x: cross-platform mạnh mẽ hơn, nhưng sẽ dev bằng C++.

Cocos2D về mặt lý thuyết thì vẫn là cross-platform, nhưng nếu muốn đẻ thêm 1 bản Android thì phải thông qua Apportable. Mình chả biết nó là thằng nào, lại chả thấy đề cập đến việc port qua Windows Phone, cho nên là next. Mình sẽ dùng Cocos2d-x, mặc dù dev bằng C++ thì mệt, nhưng mà *nghe đâu* thằng này hỗ trợ quản lý bộ nhớ hết rồi, nên đại khái là không xoắn.

Thế là tải source về các kiểu, chuẩn bị hết rồi, nhưng ngay bước đầu tiên, bạn Cocos2d-x (từ giờ sẽ gọi là CCX) đã tát cho mình ngay một phát rất nhanh và mạnh: không cài đặt được

Mình thử dán mắt vào để soi, nhưng rõ ràng là không sao chỗ nào cả. Sau một hồi đào xới Google thì mình mò được cái StackOverflow, bảo là từ bản 3.1 trở đi phải cài bằng cách khác, chứ cách cũ không còn xài được nữa.

Cài đặt

Hóa ra hướng dẫn tất cả đều nằm trong file README.md trong thư mục tải về, mịa nó trước giờ có bao giờ đọc file README đâu.

Và cụ thể như sau:

$ cd [ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_VỪA_TẢI]
$ ./setup.py

Trong quá trình cài đặt nó sẽ hỏi thêm vài thành phần khác nữa như NDK các kiểu, ở đây mình chỉ target iOS nên chỉ cần Enter để bỏ qua mấy cái này.

Sau khi cài đặt xong, nó sẽ yêu cầu bạn execute thêm một câu lệnh nữa để các biến hệ thống nó làm việc, cứ việc làm theo, chả mất gì (thực ra nếu không làm thì lãnh hậu quả ráng chịu =)))) ).

Tạo project

Việc tạo project không còn đơn giản như các phiên bản trước: chỉ cần mở Xcode và chọn các template vừa được cài sẵn. Bây giờ bạn phải tạo project bằng dòng lệnh. Cú pháp đầy đủ như sau.

$ cocos new [-h] [-p PACKAGE_NAME] -l {cpp,lua,js} [-d DIRECTORY]
            [-t TEMPLATE_NAME] [--ios-bundleid IOS_BUNDLEID]
            [--mac-bundleid MAC_BUNDLEID] [--no-native]
            [PROJECT_NAME]

Có rất nhiều flag để dùng, để hiểu rõ hơn về các flag, các bạn có thể dùng lệnh

$ cocos new -h

Ở đây, mình sẽ tạo một project mới tên là TestGame, có package name giống với bundle id là com.quangltp.TestGame, sẽ viết bằng C++, và lưu vào đường dẫn /Volumes/Data/Projects, nên câu lệnh cụ thể mình sẽ xài là

$ cocos new TestGame -p com.quangltp.TestGame --ios-bundleid com.quangltp.com.TestGame -l cpp -d /Volumes/Data/Projects

Câu lệnh này nhìn thì kinh vậy, chứ bản chất của nó chỉ là copy project mẫu có sẵn trong đống vừa tải về khi nãy, dán vào đường dẫn bạn chỉ định, đồng thời đổi tên các thứ linh tinh theo ý bạn thôi.

Sau đó…

Thế là xong. Giờ bạn có thể thử build và chạy thử bằng Xcode hay bằng dòng lệnh, tùy, hoặc có thể dev theo các tut mà bạn tìm được.

Bài này chủ yếu là để mình chia sẻ giái pháp với các bạn gặp rắc rối giống mình, không có ý định viết sê ri các bài hướng dẫn hay gì cả.

Chúc các bạn may mắn!

YOLO \m/