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 độ x và y sử dụng biểu thức random cùng tham số là (0, Layout.Width) cho x và (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
Nguồn: here – Người dịch: HÀ HOÀNG GIANG