Collision et zones transparentes



Si vous utiliser un TDXSpriteEngine, vous savez que la gestion des collisions entre les TSprite est très simple, il suffit de faire un appel à la méthode Collision et écrire un gestionnaire DoCollision.

En revanche, si l'image de votre sprite contient des zones transparentes, celles-ci sont considérées par défaut dans la collision des 2 sprite, ce qui peut aboutir parfois à des situations surprenantes: si les 2 sprite en collision ont une zone transparente assez large, on verra 2 sprite éloignés exploser, car le TDXSpriteEngine considérera que la collision a eu lieu.

Pour éviter ce genre de désagréments, on peut forcer le TDXSpriteEngine à ne prendre en compte que les zones qui contiennent une image, en mettant la propriété PixelCheck des TSprite sur true à leur création.

Listing 1

  Sprite1.PixelCheck := true;





3 requête(s) SQL executée(s) en 0.001 Secs - Temps total de génération de la page : 0.007 Secs