Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. SpriteKit
Code

Memperkenalkan SpriteKit

by
Length:ShortLanguages:
This post is part of a series called SpriteKit Basics.
SpriteKit Basics: Nodes

Malay (Melayu) translation by Meyria (you can also view the original English article)

SpriteKit adalah enjin permainan 2D Apple-enjin rendering yang dibina di atas OpenGL. Ia telah diperkenalkan dengan IOS 7, dan setiap keluaran berikutnya telah membawa penambahan hebat kepada rangka kerja. Dengan menggunakan sprite bertekstur, enjin fizik terbina dalam, dan kelas SKAction yang sangat kuat, anda boleh dengan cepat membina permainan 2D berfungsi.

SpriteKit mempunyai editor terbina dalam untuk adegan dan zarah, nod kamera sejak pembebasan iOS9, dan sokongan terbina dalam untuk tileset sejak pembebasan iOS 10. Dengan penambahan baru ini, SpriteKit dengan cepat menjadi kuasa untuk mewujudkan permainan 2D.

Berikut adalah imej editor tempat terbina dalam, dengan label, sprite berwarna, dan sprit bertekstur.

Scene Editor

Loop Rendering

SpriteKit, seperti kebanyakan enjin permainan, menggunakan gelung rendering untuk membuat dan mengemas kini skrin. Gelung rendering menerusi langkah berikut dalam menjadikan setiap adegan:

  1. Kemas kini tempat kejadian dan objeknya
  2. Menilai tindakan
  3. Simulasi fizik
  4. Sapukan kekangan
  5. Berikan tempat kejadian

Setiap langkah ini mempunyai kaedah yang sama yang anda boleh gunakan untuk memohon logik tambahan. Kaedah gelung render adalah seperti berikut:

  1. kemas kini
  2. didEvaluateActions
  3. doSimulatePhysics
  4. didApplyConstraints
  5. didFinishUpdate

Sebagai contoh, jika anda ingin menggerakkan objek secara manual di tempat kejadian anda, maka kaedah kemas kini ialah apa yang anda akan gunakan. Atau jika anda mempunyai objek yang dipengaruhi oleh tindakan atau fizik, anda boleh mengikat ke dalam kaedah yang bersesuaian untuk memastikan tindakan dan simulasi fizik diterapkan sebelum apa-apa perubahan yang anda buat.

SKNode

Kelas SKNode adalah blok bangunan asas SpriteKit. Semua aset pada skrin anda akan menjadi SKNode atau subclass daripadanya.

Kelas SKNode tidak menarik apa-apa aset visual itu sendiri. Peranan utamanya ialah menyediakan tingkah laku asas yang dilaksanakan oleh kelas-kelas lain. Sebagai contoh, kelas SKScene adalah nod akar dalam pokok SKNode dan digunakan untuk memegang sprites dan kandungan lain yang perlu diberikan.

Rendering dan animasi dilakukan oleh contoh SKView. Pandangan diletakkan di dalam tetingkap dan contoh SKScene ditambah kepadanya, dan adegan itu akan diberikan dan dinyalakan selagi pandangannya aktif. Anda boleh menggunakan contoh SKView tunggal di tetingkap anda dan beralih antara adegan yang berbeza pada bila-bila masa.

Kerangka ini mentakrifkan beberapa subclass SKNode yang lain. Yang paling umum digunakan dalam satu adegan ialah kelas SKSpriteNode. Kelas SKSpriteNode boleh ditarik sama ada sebagai segiempat tepat dengan imej dipetakan ke atasnya dengan SKTexture, untuk membuat sprite, atau sebagai segi empat tepat berwarna dan tidak tepu. Anda akan paling sering menggunakan sprite bertekstur, kerana ini adalah bagaimana anda akan membawa karya seni permainan anda kepada kehidupan.

Jenis utama nod lain termasuk:

  • SKShapeNode, yang menjadikan bentuk yang ditakrifkan oleh laluan Grafik Teras
  • SKVideo, yang memaparkan kandungan video
  • SKLabel, yang memaparkan label teks

Kami akan melihat beberapa subkelas SKNode ini dalam siri ini.

SKAction

Kelas SKAction adalah kelas yang sangat berkuasa yang digunakan untuk membawa nod anda ke kehidupan. SKAction boleh mengubah sifat nod anda dari semasa ke semasa, contohnya dengan memindahkan, membuat skala, atau memutarnya. Anda boleh berantai tindakan bersama dalam urutan, melaksanakan banyak tindakan bersama sebagai satu kumpulan, dan ulangi mereka dalam gelung. Anda juga boleh menggunakan SKAction untuk menjalankan kod tersendiri kod. Misalnya, anda ingin mencetak koordinat nod selepas ia bergerak. Anda boleh menjalankan kod tersendiri kod dalam SKAction untuk berbuat demikian.

Ciri-ciri SpriteKit

Fizik

SpriteKit mempunyai enjin fizik terbina dalam yang mengendalikan senario fizik kompleks dengan mudah. Dibina di atas kerangka Box2D yang popular, ia membolehkan anda untuk bertindak balas terhadap perlanggaran dan peristiwa hubungan, memohon kuasa dan graviti, dan membina simulasi fizik yang sangat kompleks menggunakan sendi, seperti pin dan mata air. Anda boleh menggunakan editor tempat untuk melihat fizik secara visual ke nod, atau anda boleh menambah fizik secara pemrograman.

Sistem koordinat

Di SpriteKit, koordinat (0,0) terletak di sebelah kiri bawah skrin dan bukan kiri atas, yang mungkin digunakan jika anda bekerja dengan Flash, Corona, Kanvas HTML5, dan banyak kerangka permainan lain. Mempunyai asal di kiri bawah adalah konvensyen OpenGL, dan SpriteKit mengikutinya kerana SpriteKit menggunakan OpenGL di bawah hud.

Sistem zarah

SpriteKit mempunyai enjin zarah yang sangat kuat yang boleh digunakan untuk mensimulasikan sistem zarah seperti api dan asap. Terdapat juga editor zarah terbina dalam di mana anda boleh mengeluarkan sistem zarah secara visual. Sekiranya anda memilih untuk berpaut dengan kod, anda boleh memprogram sistem ini dari bawah dengan menggunakan apa-apa tetapi kod.

Berikut adalah imej editor zarah dengan sistem zarah seperti api.

Particle Editor

Jubin

SpriteKit mempunyai beberapa kelas yang khusus untuk membina susun atur berjubin. Menggunakan tilam menawarkan penggunaan memori yang lebih baik daripada menggunakan imej tunggal yang sangat besar. Jubin boleh diatur dalam grid segi empat tepat, heksagon, atau isometrik.

Di bawah adalah imej nod peta jubin menggunakan grid segi empat tepat.

Tile Map Node

kesimpulan

Ini adalah beberapa kemuncak enjin SpriteKit. Saya akan mencadangkan membaca gambaran keseluruhan SpriteKit untuk mengetahui lebih lanjut mengenai apa yang ditawarkannya. Untuk mengetahui lebih lanjut mengenai bagaimana untuk memulakan dengan SpriteKit, anda juga perlu menyemak siaran Davis Allie di Envato Tuts.

Juga, periksa kursus SpriteKit kami! Ini akan membawa anda melalui semua langkah untuk membina permainan SpriteKit pertama anda untuk iOS, walaupun anda tidak pernah berkod dengan SpriteKit sebelum ini.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.