[XNA] Library Class wird nicht genutzt

04/05/2012 17:21 Siebenkeim#1
Hallo,
spiele in letzter Zeit ein bisschen mit XNA Game Studio rum und habe mir ein kleines KollisionsSystem ala Mario zusammengebastelt

Code:
public class CollisionSystem
    {
        public void Collision(Vector2 playerPos, Vector2 blockPos, float gravity, Texture2D block)
        {
            
            if (playerPos.Y + 50 >= blockPos.Y)
            {
                gravity = 0.0f;
            }
            if (playerPos.X > block.Width + blockPos.X)
            {
                gravity = 200.0f;
            }
            if (playerPos.X < blockPos.X - block.Width)
            {
                gravity = 200.0f;
            }

        }
    }
Bis jetzt kann er nur auf der rechten Seite vom Block fallen ist aber auch nur ein Test jetzt mein Problem:
Wenn ich das jetzt unter void Update schreibe wird es ausgeführt und es funktioniert wunderbar
aber wenn ich dafür eine Library erstelle dann eine neue Class mit dem Namen CollisionSystem ein Verweis bei meinem Spiel auf die Lib erstelle und eine Using Direktive anwende dann ein Object mit dem Namen Collision erstelle (Objekt habe ich oben wo die SpriteBatch und GraphicsDeviceManager Objekte erstellt werden und deklariert habe ich es beim Konstrukter)
funktioniert es nicht. :confused:
Woran kann es liegen?
Natürlich rufe ich mit Collision. bla bla die Funktion auf

Ok habs hinbekommen lag wohl daran das ich die gravity in der Klasse bestimmen sollte und den Wert zurückgeben sollte
04/13/2012 00:07 vwap#2
Falls ich dir für dein Collision System noch einen Tipp geben darf:
Du solltest bei Character-On-Objekt oder bei Character-On-Character Collisions die Rectangle.Intersects(Rectangle) verwenden. Um eine genaue Collision hinzubekommen, solltest du das in Kombination mit einer Pixel-Detection verwenden.

Lg.