AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Sprites unter DelphiX drehen
Thema durchsuchen
Ansicht
Themen-Optionen

Sprites unter DelphiX drehen

Ein Thema von webby · begonnen am 7. Sep 2002 · letzter Beitrag vom 21. Nov 2003
Antwort Antwort
webby
(Gast)

n/a Beiträge
 
#1

Sprites unter DelphiX drehen

  Alt 7. Sep 2002, 23:11
Hallo,
wie kann ich Sprites unter DelphiX drehen?
  Mit Zitat antworten Zitat
webby
(Gast)

n/a Beiträge
 
#2
  Alt 10. Sep 2002, 17:26
Habs selber herausgefunden.
Es geht mit der Eigenschaft Angle von TImageSprite (-Ex).
Wenn man noch dazu den Sprite in die Richtig drehen will, wohin er schaut geht das mithilfe von
Delphi-Quellcode:
X := X + Cos256(Angle);
Y := Y + Sin256(Angle);
was man unter DoMove vom Sprite einfügen muss.

Ich hoffe ich habe auch denjenigen geholfen, die nach dem gleichen suchten.

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#3

Sprites unter DelphiX drehen

  Alt 16. Nov 2003, 00:07
Hi,

ich habe delphix für delhi 6.0 , bei mir funkst das drehen nicht!
Wie genau muss ich das denn machen?
Ein Bespiel wäre sehr nett!
Delphi-Quellcode:
Procedure TRaumschiff.domove(Movecount:Integer);
Begin
  inherited domove(movecount);

  If isleft in form1.input.states
  Then
  Begin
    x:=x+cos256(Angle);
  end;

  collision;
end;
Bei Angle muss ich doch einen Winkel angeben !?
jedenfalls macht er es so nicht!
z.B.
x:=x+cos256(Angle); = Raumschiff verschieb sich nur!

Habe ich ein Brett vorm Kopf oder geht es wirklich nit!?!?!?

Bitte um Hilfe!

ATwardz
  Mit Zitat antworten Zitat
webby
(Gast)

n/a Beiträge
 
#4

Re: Sprites unter DelphiX drehen

  Alt 16. Nov 2003, 09:32
Ich hoffe, ich kann das noch richtig, da ich ja seit einigen Monaten komplett auf Linux umgestiegen bin...

Aber so wie es aussieht, hast du der VARIABLEN "Angle" keinen Wert zugewiesen (was dann meistens als 0 wirkt). Deshalb dreht sich dein Sprite auch nicht.
Verändere also einfach den Wert dieser Variable!
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#5

Re: Sprites unter DelphiX drehen

  Alt 16. Nov 2003, 12:53
In meinen Experimenten, habe ich Angle einfach durch eine Zahl ersetzt, der gleiche Effekt blieb bestehen, z.B.

x:=x+cos256(90); Habe aber auch mal ne Frage zu deinem Umstieg, is es denn Sinnvoll komplett umzusteigen!
Wie sieht das mit der Anzahl der Komponenten unter Kylix aus?

Danke!
  Mit Zitat antworten Zitat
webby
(Gast)

n/a Beiträge
 
#6

Re: Sprites unter DelphiX drehen

  Alt 19. Nov 2003, 12:50
Dann kann ich dir leider auch nicht weiterhelfen...

Also, ich hab es bisher den Umstieg wenig bereut! Aber das muss jeder selbst entscheiden...
Zu Kylix: Davon würde ich echt abraten... Nicht wegen den Komponenten (einfach unter Delphi mal auf "Neu -> Kylix-Unit" oder ähnlich klicken, dann kannst du sehen welche Komponenten vorhanden sind), aber die erstellten Programme können bisher standardmäßig nur in der Kylix-IDE gestartet werden. Damit man sie aus Linux selber herausstarten kann, muss man ganz schön viel tun (ich selber hab es trotz mehrerer Tutorials bisher nicht geschafft... :-/)
  Mit Zitat antworten Zitat
Grunzer

Registriert seit: 20. Nov 2003
1 Beiträge
 
#7

Re: Sprites unter DelphiX drehen

  Alt 20. Nov 2003, 21:02
Zitat von ATwardz:
In meinen Experimenten, habe ich Angle einfach durch eine Zahl ersetzt, der gleiche Effekt blieb bestehen, z.B.

x:=x+cos256(90); Danke!

Hm. Also wenn ich im Matheunterricht richtig aufgepasst habe, dann ist der Cosinus von 90 Grad doch 0 .... also drehst du den/das/die Sprite um 0 Grad. Mich wundert es da nicht, wenn nix passiert. Kann aber auch gut sein, dass ich mich irre, bin in Sachen DelphiX noch nicht besonders erfahren.


Grunzer
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#8

Re: Sprites unter DelphiX drehen

  Alt 20. Nov 2003, 22:59
JA, darüber habe ich zwar nit nachgedacht das cos(90) = 0 is aber das auch egal weil er macht es bei jedem Winkel nit!

Ich verstehe auch warum er es nit macht, zumindest erscheint es mir logisch, er
hat einen x Wert(z.B. 4) und nun soll der Sprite um cos(45) gedreht werden, warum addiere ich diesen wert dann auf x?? das Ergebnis ist dann ja ca. 1.7 , also würde er 1,7 nach rechts gehen anstatt 1!

Was mache ich also falsch und was verstehe ich falsch?

ATwardz
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#9

Re: Sprites unter DelphiX drehen

  Alt 21. Nov 2003, 00:00
Ich habs!

Erstens , hatte ich nicht den Sprite als TImageSpriteEX erstellt sondern TImageSprite!
Naja, danach lief es jedoch auch nit!
Mein Fehler war irgendwie simpel, jedoch fand/find ich ihn dennoch logisch!
Da der Code ja
Delphi-Quellcode:
X := X + Cos256(Angle);
Y := Y + Sin256(Angle);
lautete, danchte ich man könnte für Angle direkt eine Zahl einsetzen,logisch oder!?
Das man nun unbedingt der VAriable Angle einen Wert zuweisen muss, wusste ich ja nit!
wenn es geht spare ich gerne Variablen ein!

Naja für alle die ein Meister des Mißverstehens sind, so wie ich!So ist es für mich und somit für keinen mehr mißzuverstehen!Hoffe ich!

Delphi-Quellcode:
...
  TSprite = class(TImageSpriteEX)
  Public
    constructor create (aparent:Tsprite);override;
    procedure DoMove(MoveCount: Integer);override;
  end;
...
Procedure TSprite.domove(MoveCount: Integer);
Begin
  Angle:=Angle+1;
  Inherited domove(movecount);
  X := cos256(Angle);
  Y := sin256(Angle);
end;
Um endlich zum Abschluss dieses Threats zu kommen!

Vielen Dank nochmal an alle die mir geholfen haben!

ATwardz
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz