Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

29.11.2010, 18:05

Du übergibst ihnen ein X und Y Positionvariable und rechnest die eben auf tastendruck hoch. z.B:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
int X = 0;
int Y = 0;
...
DrawSprite(X,Y);
if(KEY(UP))
{
    Y += 1;
}
Metal ist keine Musik sondern eine Religion.

BLU3 L30PARD

Treue Seele

  • »BLU3 L30PARD« ist der Autor dieses Themas

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

12

29.11.2010, 18:08

wie unpraktisch... naja, dann schreib ich mir halt ne eigene Move() - Funktion ;)
Danke!

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

13

29.11.2010, 19:20

Am besten tut das hoffentlich dein Player selber ;) Grundregel, die man bei UML vor allem Lernt und gerne vergessen wird:

"Objekte sind selbstständige abbildungen." - Man beachte das Wort selbstständig :D (doofes wort)

BLU3 L30PARD

Treue Seele

  • »BLU3 L30PARD« ist der Autor dieses Themas

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

14

29.11.2010, 20:26

Einfach wie bei C++:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
public class Player : Sprite
{
    public Player()
    {
        this.Image = new Image("Player.png");
    }
   
    public void Move(float OffsetX, float OffsetY)
    {
        this.Position = new Vector2(this.Position.X + OffsetX, this.Position.Y + OffsetY);
    }
}


Dann wieder ganz einfach aufrufen(eben wie bei C++):

Quellcode

1
Player.Move(100 * App.GetFrameTime(), 0);


Ich frag' mich nur, warum diese Funktion nicht gleich implementiert wurde ?(
Aber naja, 3 Zeilen mehr != Weltuntergang :D

Nochmal vielen Dank für eure Hilfe ;)

//Edit: Dafür ist die C++ API-Doc. doch ganz gut zu gebrauchen :D

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BLU3 L30PARD« (29.11.2010, 20:32)


Werbeanzeige