Benim çözümüm oyun haritasındaki her fiziksel varlığa bir ağaç düğümü ve haritanın kendisine kök düğümü gibi davranmak olacaktır . Düğümler başka düğümler içerebilir. Her bir düğüm (doğrudan veya dolaylı olarak) harita düğümü içinde bulunur.
Diyelim ki karakteriniz bir platformda duruyor. Platformun düğümü, karakterin düğümünü içerir. Böylece, platform her hareket ettiğinde, içerdiği düğümler (bu durumda karakter) de hareket eder.
Bunun gerçekleşmesi için, her düğümün ana düğüme göre bir (x, y) konumuna sahip olması gerekir . Örneğin, karakteriniz platforma göre (1,0) , kendisi de oyun haritasına göre (10,10) bulunabilir . Bu şekilde, platform hareket ederse, karakteriniz örtülü olarak hareket edecektir.
Bu hiyerarşik ağaçta, her düğümün konumu, konumunun artı her üst düğümünün konumlarının toplamına eşittir. Diyelim ki karakterin haritada yerini almak istiyoruz. Hesaplıyoruz:
(karakterin konumu) + (üst düğümün konumu) + (kök düğüm konumu) = (1,0) + (10,10) + (0,0) = (11,0)
Tamam, tüm bu zaman boyunca karakteriniz platformda duruyordu. Atlamaya ne dersin? Eh, o atlar an, platformdan onu ayırmak ve platformu içeren düğüme onu takmak ; bu durumda, harita (kök düğüm).
Tekrar indiğinde, onu hangi düğüme bağlıysa ona bağla.