Langsung ke konten utama

Construct 2 Indonesia Manual: Bab Plugin Reference - 26. Tilemap

Object: Tilemap memungkinkan game berbasis ubin (Tile) didesain lebih mudah. Object: Tilemap juga dapat diedit dalam Layout View menggunakan Tilemap Bar.



Untuk informasi tentang cara mengedit gambar di Construct 2, lihat entri manual untuk 3.8. Tilemap Bar.


Pengaturan/Setting yang disarankan

Saat memasukkan Object: Tilemap, Construct 2 dapat meminta Anda untuk menggunakan pengaturan yang direkomendasikan untuk game berbasis ubin (Tile-based). Pengaturan ini adalah Point sampling, Pixel rounding diaktifkan dan Letterbox integer scale dalam mode Fullscreen. Sangat disarankan untuk menggunakan pengaturan ini untuk menghindari tampilan tidak rapi (Seams), yang dapat membuat celah atau garis tipis muncul di antara atau di sepanjang ubin. ‘Seams’ terjadi karena posisi pecahan (Fractional) atau penskalaan layar (misalnya: Scrolling jarak antara pixel seperti pada X koordinat 100.5, atau menggunakan mode skala Letterbox Non-integer yang bisa memiliki skala seperti 1.7x), dan pengaturan ini memastikan adanya tidak ada posisi fraksional atau penskalaan.


Gambar pada Object: Tilemap

Gambar yang digunakan untuk Object: Tilemap adalah Tileset. Ini adalah gambar yang berisi setiap ubin yang berbeda yang dapat digunakan di Object: Tilemap. Ubin juga bisa diberi Offset dan jarak, tapi ini biasanya tidak diperlukan. Gambar Tileset muncul di Tilemap Bar setelah memilih Object, memungkinkan Anda memilih ubin (Tile) mana yang akan digunakan.


Collision (Tabrakan/Benturan)

Saat menguji tabrakan dengan Object: Tilemap, Tile yang kosong (terhapus) tidak dianggap saat bertabrakan, dan semua ubin (Tile) lainnya dianggap bertabrakan. Collision Poligon khusus (Custom) dapat diatur secara individu dengan mengeklik tombol Edit tile Collision Poligon di Tilemap Bar, atau cukup klik dua kali Tile di Tilemap Bar. Namun perlu diingat bahwa Collision Poligon tidak dapat sepenuhnya dihapus dari ubin: hanya ubin kosong/terhapus yang dianggap tidak bertabrakan sama sekali.

Jika Anda ingin memiliki ubin yang terlihat tapi tidak memiliki tabrakan, gunakan dua Object: Tilemap yang saling berlapis satu sama lain. Uji tabrakan dengan hanya Object teratas, dan hapus ubin yang seharusnya tidak dipasang tabrakan. Ubin ini kemudian dapat ditempatkan pada Object: Tilemap di bawahnya, sehingga muncul di posisi yang sama namun tidak terjadi tabrakan.


Tile ID

Setiap ubin pada Tileset memiliki indeks berbasis nol untuk mengidentifikasinya. Ini dimulai dengan ubin kiri atas dan ke kanan secara horizontal dalam barisan. ID ubin dapat dengan mudah dilihat dengan mengarahkan kursor ke atas sebuah ubin di Tilemap Bar. ID ubin berguna untuk membandingkan atau mengatur ubin saat Runtime dengan Condition, Action dan Expression.


Tile positions

Bila menggunakan ubin dalam Condition, Action dan Expression, posisi umumnya diberikan dalam satuan ‘Tiles’ dan bukan koordinat dari Layout. Anda dapat mengkonversi antara posisi ubin dan koordinat Layout dengan menggunakan Expression: PositionToTileX / Y dan TileToPositionX / Y.



Tilemap Properties

  • Image
    Klik link: Edit untuk mengedit gambar Tileset.

  • Initial visibility
    Pilih apakah Object terlihat atau tak terlihat pada awal Layout.

  • Tile width
  • Tile height
    Ukuran ubin di Tilemap, dalam pixel.
    Dianjurkan untuk menggunakan ukuran sama sisi (Power-of-two-size), misalnya: 32x32.

  • Tile X offset
  • Tile Y offset
    Jarak Offset, dalam satuan pixel, ubin kiri atas pada gambar Tileset.
    Hal ini biasanya tidak diperlukan, dan hanya disediakan terutama untuk kompatibilitas dengan gambar Tileset yang ada yang memiliki ubin yang digambar pada Offset.

  • Tile X spacing
  • Tile Y spacing
    Jarak, dalam pixel antara ubin pada gambar Tileset.
    Hal ini biasanya tidak diperlukan dan hanya disediakan terutama untuk kompatibilitas dengan gambar Tileset yang ada untuk memisahkan ubin satu sama lain.



Tilemap Conditions

  • Compare tile at
    Bandingkan ID ubin pada posisi tertentu di Tilemap.

  • Compare tile State at
    Uji apakah ubin pada posisi tertenu di Tilemap dibalik (Flipped) atau diputar dari keadaan normalnya.



Tilemap Actions

  • Download
    Ajukan unduhan data Tilemap (dari Expresson: TilesJSON) sebagai file JSON.
    Ini bisa berguna untuk ‘Level Editor’ pada game.

  • Load
    Muatkan ubi ini dari serangkaian data JSON dari penggunaan Expresson: TilesJSON sebelumnya.

  • Erase tile
    Hapus ubin pada posisi tertentu.

  • Erase tile range
    Hapus ubin pada area secara persegi di Tilemap.

  • Set tile
    Atur ubin pada posisi di Tilemap berdasarkan ID.
    Ubin yang diatur juga bisa dibalik (Flipped) atau diputar.

  • Set tile range
    Seperti halnya dengan Set tile, namun mengatur ubin secara area persegi di Tilemap.

  • Set tile State
    Menetapkan ubin: dibalik (Flipped) atau diputar pada posisi tertentu di Tilemap.
    ID ubin tidak berubah.

  • Set tile State range
    Tetapkan keadaan ubin: dibalik (Filpped) atau diputar dalam area persegi di Tilemap.
    Tak satu pun dari ID ubin di area persegi berubah.



Tilemap Expressions

  • TilesJSON
    Ambil data ubin dalam format JSON, yang dapat dimuat lagi nanti dengan menggunakan Action: Load.
    Catatan: Ini berbeda dengan Built-in Expression: AsJSON, yang mengembalikan keseluruhan Object (termasuk: posisi, ukuran, Behavior, dll), sedangkan Expression: TilesJSON hanya mengambil data ubin.

  • PositionToTileX(x)
  • PositionToTileY(y)
    Mengkonversi koordinat X atau Y yang berkoordinasi ke nomor ubin yang sesuai di Tilemap.
    Misalnya: Ini bisa digunakan untuk mendapatkan posisi ubin di posisi kursor mouse.

  • SnapX(x)
  • SnapY(y)
    Tempel (Snap) pada posisi X atau Y dari koordinat Layout ke ubin terdekat.
    Ini juga mengambil koordinat dari Layout, namun sejajar dengan ubin terdekat di Tilemap.

  • TileAt(x, y)
    Mengambil ID ubin pada posisi tertentu di Tilemap.
    Catatan: Posisi yang diberikan dalam satuan ‘Tiles’, bukan koordinat Layout. Jika ubin pada posisi yang diberikan kosong (telah terhapus), Expression ini akan bernilai: -1.

  • TileToPositionX(x)
  • TileToPositionY(y)
    Mengkonversi posisi ubin ke koordinat Layout.
    Misalnya: ini bisa digunakan untuk memposisikan Object: Sprite untuk diletakkan di atas ubin tersebut.



Komentar