2016-04-04 29 views
0

Karakterimin bir potla çarpışmasını sağlamaya çalışıyorum ama sorun yaşamaya devam ediyorum.Flashpunk çarpışma sıkıntıları

Kodum şu anda (bu güncelleme fonksiyonu içerisinde yer almaktadır): Bu izleri asla

 if (collide("Pot",MyWorld.Pot.graphic.x,MyWorld.Pot.graphic.y)) 
     { 
      trace("HUH!?") 
      // Player is colliding with a "bullet" type. 
     } 

"BU NE ?!" Tencereye gitmeme rağmen. Hatta karakterimi 80, 80'de oluşturmayı denedim (bu, potun pozisyonu)

0,0 yazıyorsam çalışır, neden 80,80 değil?

pot hitbox 36x34 (bu spritemap var için kare boyutu)

Burada (ayrı bir sınıf içinde) pot için kod

genel sınıf Po {

[Embed(source = "../img/28x29.png")] 

public var PotImage:Class; 

public var sprPot:Spritemap = new Spritemap(PotImage,36,34) 

public function Po(xP:Number,yP:Number) 
{ 
    sprPot.add("Break",[0,1],2,false) 
    graphic = sprPot 
    graphic.x = xP 
    sprPot.unlock() 
    setHitbox(36,34) 
    type = "Pot" 
    graphic.y = yP 
} 

} 
Varlık uzandığı

cevap

0

Öncelikle, öğenin konumunu değiştirmek için yalnızca x ve y özelliklerini kullanın. Grafikte x, y sadece ofsetlerdir.

İkinci olarak, bir çarpışma olmadığını kontrol etmek için, sadece

if (collide("pot", x, y)) trace("killed by pot!"); 

ikinci ve üçüncü bağımsız değişkenler this işletme çarpışma için kontrol etmek için yerleştirilir koordinatları yapmak. En sık rastlanan durum, varlığın yeni pozisyonunu kontrol edip, oraya yerleştirmemeniz durumunda bazı engellerle çarpıp çarpışmadığını kontrol etmektir.

İlgili konular