11/08/2018, 22:07

Create game with Sprite Kit Swift

Giới thiệu chung Sprite Kit là một framework để làm game 2D do Apple phát triển. Điểm mạnh của Sprite Kit : Nó được xây dựng ngay vào IOS nên bạn không cần tải thêm những thư viện hoặc bổ xung những thành phần phụ thuộc của IOS. Bạn có thể sử dụng trực tiếp các API của IOS như iAd, ...

  1. Giới thiệu chung

    Sprite Kit là một framework để làm game 2D do Apple phát triển. Điểm mạnh của Sprite Kit :

  • Nó được xây dựng ngay vào IOS nên bạn không cần tải thêm những thư viện hoặc bổ xung những thành phần phụ thuộc của IOS. Bạn có thể sử dụng trực tiếp các API của IOS như iAd, In-App Purchases và nhiều thứ khác mà không cần thêm vào các Plugin.
  • Dùng Sprite Kit bạn sẽ nâng cao được kỹ năng của bạn đặc biệt về Swift . Nếu bạn đã biết Swift thì việc dùng Sprite Kit là rất dễ dàng và nhanh chóng.
  • Sprite Kit được phát triển bởi Apple vì vậy bạn có thể yên tâm game của bạn sẽ được Apple hỗ trợ khi có những thay đổi trên các sản phẩm của hãng trong tương lai.
  • Sprite Kit là hoàn toàn miễn phí với tất cả các chức năng, nếu bạn muốn tạo một game cỡ nhỏ và vừa thì đây là lựa chọn hợp lý . Nhược điểm (Theo quan điểm cá nhân)
  • Sprite Kit không hỗ trợ đa nền tảng ,bạn chỉ có thể tạo game cho IOS nếu muốn tạo một game đa nền tảng có lẽ Unity2D hoặc Cocos2D-x là hợp lý hơn .
  1. Hướng dẫn tạo một game đơn giản

    Trước tiên để làm game cùng Sprite Kit bạn cần phải cài được Xcode6 . Nội dung game : chỉ đơn giản là có những bóng ma đi từ trái sang phải nhiệm vụ của người chơi là chạm vào chúng để không cho vượt qua màn hình nếu để một bóng ma vượt qua game sẽ kết thúc . Bạn mở Xcode lên và chọn FileNewProject sau đó chọn iOSApplicationGame để tạo một project game và đặt tên tuỳ thích như sau , nhớ chọn phần ngôn ngữ là Swift , game tecnology là SpriteKit

begin-300x176.png

create-300x176.png

Tiếp theo ta click chuột trái vào project để thiết lập style màn hình là màn hình ngang , ta chọn Landscape left và Landscape Right setting1-300x158.png

Tiếp theo bạn mở file GameScene.swift lên đây là file chúng ta viết code vì đây là class kế thừa từ lớp SKScene dùng trong màn hình game của chúng ta. Ta thay đổi màu của màn hình game và thêm vào các đối tượng bóng ma đi từ phải qua trái như đã nói ở trên. Ta thêm vào hàm didMoveToView như sau :

didview-300x118.png

Khai báo một mảng monsters là mảng chứa các bóng ma ta thêm vào. Khai báo một biến numberDestroy là số lượng bóng ma bị tiêu diệt . Khai báo một biến scoreMax để quy định số điểm chiến thắng . Hàm addMonster để thêm một bóng ma cài đặt như sau:

addMonster-300x134.png

Trong hàm này ta tạo ra một đối tượng bóng ma là monster và thêm nó vào mảng monsters , đồng thời cho nó di chuyển sang trái . Tiếp theo chúng ta phải bắt sự kiện khi ta chạm vào bóng ma , nếu ta chạm vào thì xoá nó đi và cộng thêm điểm cho người chơi .

checktouch-300x201.png

Nếu numberDestroy lớn hơn maxScore có nghĩa là chiến thắng thì ta chuyển tới Scene GameOver Ta tạo một file mới là GameOverScene.swift để hiển thị khi game kết thúc : New FileiOSSourceSwift file

gameover-300x245.png

Đến đây ta đã hoàn thành một game demo cơ bản , bạn có thể build trên simulator để chơi thử .

game-300x177.png

Kết luận

SpriteKit là một lựa chọn tốt nếu bạn muốn tạo ra một game iOS với tiêu chí nhanh, dễ dàng, nhiều hỗ trợ từ cộng đồng .

Dưới đây là link github code bạn có thể tải về và build thử :https://github.com/ngocdu/NinjaGameSpriteKit

0