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

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

11

18.01.2013, 17:52

Ist ja nichts schlimmes. ich schreibe ja auch oft um den heißen Brei herum.
Wo liegt denn dein Problem genau? Geht es darum rauszufinden wann die Animation durchgelaufen ist? Oder geht es darum Statt die Animation einfach eine feste Textur anzuzeigen? Oder geht es darum den ersten Frame der Animation anzuzeigen, wobei die Animation nicht abgespielt werden soll. Oder geht es darum die Animation zu pausieren?
Dann wäre es hilfreich wenn du sagen würdest womit du arbeitest. C++ weiß ich ja schon, aber was benutzt du zum anzeigen? SFML oder vielleicht SDL oder was ganz anderes?
Mit Antworten auf diese Fragen kommen wir der Sache ja vielleicht schon näher.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

12

18.01.2013, 18:56

Also, hier der teil der animation, vielleicht geht das weniger umständlich aber ich hab ohne hilfe nur den weg gesehen.



sf::Texture player;
player.loadFromFile("player.png");

sf::Sprite sPlayer(player);

sf::Texture playerRight2;
playerRight2.loadFromFile("player1.png");

sf::Texture playerRight3;
playerRight3.loadFromFile("player2.png");

sf::Clock AnimationTime;

int AnimationStep;
SpielerAnimation = 0;


if(sf::Keyboard::isKeyPressed(sf::Keyboard::W))
{
sPlayer.move(0, -pSpeed);
if(AnimationTime.getElapsedTime().asSeconds() > 0.2)
{
AnimationTime.restart();
AnimationStep++;
if(AnimationStep == 1)
{
sPlayer.setTexture(playerUp2);
}

if(AnimationStep == 2)
{
sPlayer.setTexture(playerUp3);
AnimationStep = 0;
}

}
}


Ich verwende Visual C++ mit SFML 2.0,

und habe 3 Bilder gemacht, player.png(dort steht meine figur),
player2.png(dort "bewegt" sie sich ein bisschen) und player3.png
(dort bewegt sie sich wieder ein wenig).
und dann wir ja immer 2 und 3 wiederholt, dass die animation
entsteht, aber ich will machen wenn ich gerade nicht laufe,
er wieder normal steht.
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

13

18.01.2013, 19:35

108 Posts, seit ~5 Monaten registriert und immer noch unfähig, Codetags zu verwenden... :dash:
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

14

18.01.2013, 19:44

-deleted-
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

15

18.01.2013, 20:13

Eigentlich brauchst du nur ein Sprite für alle Animationen ;)
Ich glaube, dass da so etwas wie SetSubRect gab oder so..
Only God can judge me.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

16

18.01.2013, 20:15

SetTextureRect, ja. Muss er aber nicht benutzen, 3 Texturen geht ja auch.

Aber ganz ehrlich, die Frage sagt eigentlich schon, was zu tun ist: "Wenn ich stehe, will ich Bild 1 anzeigen". Dafür gibt es IF. Das sollte er schon allein hinbekommen, es ist ein triviales Problem.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

17

18.01.2013, 20:34

SetTextureRect, ja. Muss er aber nicht benutzen, 3 Texturen geht ja auch.

Aber ganz ehrlich, die Frage sagt eigentlich schon, was zu tun ist: "Wenn ich stehe, will ich Bild 1 anzeigen". Dafür gibt es IF. Das sollte er schon allein hinbekommen, es ist ein triviales Problem.

Deshalb bin ich ja erst garnicht darauf eingegangen ;)
Only God can judge me.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

18

18.01.2013, 21:38

Die Aussage war auch weniger an Dich im Speziellen gerichtet, sie war mehr so... in den Raum hinein gesagt ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

19

18.01.2013, 22:04

Wird mir bestimmt noch einfallen ^^
if(player.dontmove) geht ja nichtxD

und @Nimelrian
Ich weiß nicht wieso, aber mit den Codetags wird
mein kompletter Quellcode in 2 zeilen dargestellt...
auch wenn ich sie anders formatiere
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

20

18.01.2013, 22:08

Aber ein "else" könnte Dir schon viel helfen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige