Bagaimana cara membuat game 2D?

8

Bulan lalu, saya banyak bereksperimen dalam pengembangan game menggunakan cocos2d untuk iPhone, terutama pada memindahkan dan memodifikasi sprite. Namun, simpul dan poligon masih merupakan hal baru bagi saya.

Saya mengembangkan algoritma yang menciptakan satu set poin. Saya sekarang ingin menggunakannya untuk membuat medan 2D saya. Berikut ini tampilannya ketika saya menghubungkan titik-titik di java, sehingga Anda bisa mendapatkan ide

Grafik garis dari titik-titik yang terhubung

Titik-titik terhubung dengan garis. Namun medan permainan sebenarnya adalah bentuk yang diwarnai atau memiliki tekstur overlay, kan? Sebagai contoh:

Gambar medan dalam game terlihat cantik

Bagaimana saya bisa menggunakan poin saya untuk membuat medan seperti itu?

Apa yang saya coba sejauh ini adalah saya membuat array dan mengisinya dengan poin saya. Saya meneruskan array ini ke metode ini

void ccDrawPoly ( const CGPoint *  vertices,
    NSUInteger  numOfVertices,
    BOOL  closePolygon   
)   

menggambar poligon yang diberi pointer ke koordinat CGPoint dan jumlah simpul yang diukur dalam poin. Poligon dapat ditutup atau dibuka

Ini sebenarnya menggambar bentuk polos. Namun dari gambar biru sepertinya tidak ada satu bentuk tetapi banyak.

Silakan bagikan pengetahuan Anda tentang cara membuat medan game 2d.

Perbarui 03.06.2011

Berdasarkan dua jawaban yang baik saya mendapat hasil berikut

masukkan deskripsi gambar di sini

Hilang di OWL
sumber

Jawaban:

5

Solusi mudah / naif hanyalah mengambil poin yang ada, dan untuk setiap titik memiliki titik yang sesuai yang pada posisi Y yang sama tetapi dari layar. Dari sana, buat poligon Anda dengan mengambil, katakanlah, poin 0, 1, 1 pasangan, dan 0 pasangan dan meneruskannya ke metode DrawPoly Anda. Kemudian lanjutkan dengan (1, 2, 2 pasangan, 1 pasangan), dll.

Tetrad
sumber
Y mewakili tinggi. Saya tidak mengerti bagaimana bisa Y yang sama tetapi dari layar pada saat yang sama. Maksud saya X keluar dari layar ...? Saya tidak mengerti ide Anda.
Hilang di OWL
1
Ganti Y dengan X kalau begitu. Mereka hanya poin yang lurus ke bawah.
Tetrad
Garis-garis pada gambar Anda yang diperbarui harus mengarah lurus ke bawah. Tidak merambah.
Tetrad
Bagus, mengerti. Lihat pembaruan saya :)
Hilang di OWL
4

Saya akan mengulang-ulang array Anda dua titik pada satu waktu, memperkirakan dua poin lagi (dengan menggunakan nilai X untuk masing-masing dan membuat nilai Y 0) untuk memberi Anda bagian bawah bentuk Anda. Masukkan keempat poin ke ccDrawPoly () dan ulangi sampai Anda kehabisan nilai array.

jadi, jika Anda mengatakan:

P1 = (0, 25)
P2 = (5, 30)
P3 = (10, 20)
P4 = (15, 25)
for the first shape, you pass in P1, P2, (0, 0), and (5, 0)
second shape is P2, P3, (5, 0), (10, 0)
third shape is P3, P4, (10, 0), (15, 0)
etc...
Ren the Unclean
sumber