2016-04-05 15 views
0

İki öğem var, Object_Player ve Object_Weapon. Object_Player'ın sprite'ı üç farklı sprite olabilir ve Object_Weapon'un sprite indeksi, Object_Player sprite'a bağlı olarak değişmelidir. Örneğin, eğer Object_Player sprite Sprite_Hero1 olarak ayarlanırsa, Object_Weapon için sprite indeksi Sprite_Weapon sprite öğesindeki ilk resim olmalıdır. Object_Player sprite Sprite_Hero2 olarak ayarlanırsa, Object_Weapon için hareketli dizin, Sprite_Weapon grafiğinde ikinci resim olmalıdır.Oyun yapımcısı - Resim indeksi değişmeyecek

Object_Weapon için dizini değiştiren kod budur. Ben size sprite_index ve image_index karıştı olduğunu düşünüyorum Object_Weapon

if (Object_Player.image_index = Sprite_Hero1) sprite_index = 0 
if (Object_Player.image_index = Sprite_Hero2) sprite_index = 1 
if (Object_Player.image_index = Sprite_Hero3) sprite_index = 2 

cevap

1

için yaratmak bloğunda olduğunu. Deneyin değişikliği: Aslında doğru şeyi yapmıyor

if (Object_Player.sprite_index = Sprite_Hero1) image_index = 0 
if (Object_Player.sprite_index = Sprite_Hero2) image_index = 1 
if (Object_Player.sprite_index = Sprite_Hero3) image_index = 2 
0

senin içeride deyimi (), Sol Değeri ise "=" yerine doğru değildir Sağ Değerini eşittir kontrol etmek için kullanılır, eğer "=" , "==" kullanın "=" Sol tarafta değişkene Sağ/Sol değişkeninin değerini atayacaktır

+1

GM/GMS hem '=' hem de '==' işlevini kullanabilir. Mevcut durumda aynı şekilde çalışacaktır. Ve ';' isteğe bağlıdır, bu bir hata değildir. – Dmi7ry