Cách tạo các sprite ngẫu nhiên mà không bị chồng lên nhau

Trong bài viết này, tôi sẽ chỉ bạn cách tạo ra các sprite ngẫu nhiên mà không bị chồng lên nhau. Phương pháp này khá là dễ. GÉT GÔ!

CODE

Ta sẽ cố gắng thực hiện:

  • Các sự kiện tự tạo sprite (spawning)
  • Các sự kiện xếp chồng (overlapping)

SỰ KIỆN TỰ TẠO SPRITE

Ta sẽ sử dụng vòng lặp For, bạn có thể sử dụng các phương pháp khác để tự động tạo nhiều sprite trong trò chơi của bạn. Tại System, sử dụng Create object rồi chọn object mà bạn muốn tự tạo, với tọa độ và y sử dụng biểu thức random cùng tham số là (0, Layout.Width) cho x(0, Layout.Height) cho y và hãy đảm bảo sự kiện này nằm trong On start of Layout.

Ta cũng sẽ tạo thử 1 Player random:

SỰ KIỆN XẾP CHỒNG

Với sự kiện này, khi object mà bạn đang chọn bị xếp chồng lên object khác, hãy Set position của object đó với tham số là (random(0, Layout.Width), random(0, Layout.Height)). Hãy đảm bảo sự kiện này nằm bên ngoài On Start of Layout.

 

Ta cũng sẽ thêm 1 sự kiện nếu bị xếp chồng lên Player, hãy đảm bảo sự kiện này nằm trong sự kiện On Start of Layout để tránh việc đối tượng mà bạn chọn bị thiết lập lại vị trí nếu va chạm với Player.

GIẢI THÍCH

Bất cứ khi nào đối tượng mà bạn chọn bị xếp chồng lên bản sao của nó, nó sẽ thiết lập lại vị trí mới ngẫu nhiên nhờ biểu thức random. Tuy nhiên bạn cũng có thể làm điều này với biểu thức choose.

FILE MẪU

Download file mẫu tại đây

Nguồn: here – Người dịch: HÀ HOÀNG GIANG

Trả lời