Mini tahtayı, tahtandaki hangi karelerin saldırıya uğradığını gösteren göstergelerle işaretlemek için mini tahtada tahta kare koordinatını dünya konumuna dönüştürmen gerekir.
Mini Tahtada Kare Koordinatını Dünya Dönüşümüne Dönüştür
Mini tahtada kare koordinatını dünya konumuna dönüştürme prosedürü şöyledir:
Mini tahtanın ölçek faktörünü al.
Ölçek faktörünü kullanarak kare koordinatını
vector3’e dönüştür.İşaretleyiciyi mini tahtanın dönüşüne uyacak şekilde döndür.
Oluşturulan dönüşümü döndür.
Oyun tahtasının boyutlarını almak için GetDimensions adında bir fonksiyon oluştur:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
Ardından, bir kare koordinatını mini tahtada yer alan bir dönüşüme dönüştürmek için bir prosedüre ihtiyacın olacak:
Geçerli bir mini tahta olduğundan emin ol.
Oyun tahtasının boyutlarını al.
Mini tahtanın boyutlarından ve daha büyük tahta boyutlarından, mini tahta alanındaki bir karenin göreli ölçeğini elde et.
Kamera dönüşümünü al.
Mini tahta örgüsü eksenini ileriye doğru döndürmek için gereken dönüşü tanımla.
Döndürülmüş ofset dünya konumunu mini tahtanın merkezine göre oluştur.
Mini tahta dönüşümünü al.
Merkezden itibaren olan mini tahta ofsetini mini tahtanın konumuna ekleyerek kare koordinatı için mini tahta dönüşümünü al.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Mini Tahta İşaretleyicisi Yerleştir
Mini tahta üzerine bir mini tahta işaretleyicisi yerleştirmek için şunları bilmen gerekir:
İşaretleyicinin yer alacağı tahta kare koordinatı.
İşaretleyicinin isabet işaretleyicisi mi yoksa ıskalama işaretleyicisi mi olacağı.
DataTypes modülündeki işaretleyici türünü temsil edecek yeni bir enum oluştur:
using{/Verse.org/Simulation}
using{/Verse.org/Random}
using{/UnrealEngine.com/Temporary/SpatialMath}
DataTypes<public> := module:
...
marker_type<public> := enum<open>:
Hit
Mini tahta sınıfında, mini tahta üzerine bir işaretleyici yerleştirmek için SetMarker adında bir fonksiyon tanımla.
Bu fonksiyon aşağıdaki adımları gerçekleştirir:
Geçerli bir mini tahta olduğundan emin olur.
Ne tür işaretleyici örgüsü kullanacağını belirler: isabet mi yoksa ıskalama mı?
Girdi kare koordinatının mini tahta dönüşümünü alır.
İşaretleyiciyi ortaya çıkarır.
İşaretleyiciyi, işaretleyiciler dizisine ekler.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Özet
Özetlemek gerekirse, bu sayfada aşağıdaki adımlar açıklanmıştır:
Mini tahta üzerine bir işaretleyici yerleştir.
Mini tahta alanı, tahta alanı ve dünya alanı arasında dönüştürme yap.
Dosyalar
using { /Verse.org/Simulation }
using { /Verse.org/Random }
DataTypes<public> := module:
tile_coordinate<public> := class<concrete>:
Left<public>:int = 0
Forward<public>:int = 0
bounds<public> := class<concrete>:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
# A Verse-authored creative device that can be placed in a level