Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
mortl2 Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88 Wohnort: Straubing/Bayern Medaillen: Keine
|
Verfasst am: 30.09.2002, 19:30 Titel: Frage zum Thema Sprite |
|
|
Hi,
Ist es eigentlich möglich einen Sprite z.B. um 90° zu drehen, oder sogar um 1°?!. Wenn ja, lass es mich bitte wissen!
Mortl |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 30.09.2002, 19:45 Titel: |
|
|
Es sollte mit einigen Grafikkarten möglich sein (CAPS abfragen). Jedoch muß dazugesagt werden, das beim drehen um einen beliebigen Winkel die Surfacefläche vergrößert werden muss, weshalb keine Graka dieses Feature unterstützt. (jedenfalls keine, die ich kenne)
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
mortl2 Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88 Wohnort: Straubing/Bayern Medaillen: Keine
|
Verfasst am: 30.09.2002, 19:53 Titel: |
|
|
Gäbe es vielleicht irgendeine Alternative? |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 30.09.2002, 19:54 Titel: |
|
|
Selber einen Algorythmus schreiben... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
mortl2 Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88 Wohnort: Straubing/Bayern Medaillen: Keine
|
Verfasst am: 30.09.2002, 19:59 Titel: |
|
|
@TheMillenium,
Poste mal ein Code-Beispiel, denn ich bin erst bei "ColorKeys"(also noch ein Anfänger!), und kann mir darunter noch nichts vorstellen!
Mortl |
|
Nach oben |
|
|
Sören JLI Master Trainee
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 30.09.2002, 21:47 Titel: |
|
|
Solche Sachen sind in der Regel ziemlich aufwendig und vorallem Performance fressend! Ich halte es für klüger und einfacher auf DX8 umzusteigen! |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 30.09.2002, 22:02 Titel: |
|
|
Alternativ erstellt man sich einfach ein Bild, in dem alle Sprites z.B. je um 15° gedreht drinnen stehen...
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 01.10.2002, 05:36 Titel: |
|
|
da gestern hier immer ein Datenbankfehler war...hier ist mein Post:
Das hab ich selber noch nie versucht, da brauchts du schon Mathematik...
du weißt nur, dass du alle Pixel in einem Array hast
wie z.B. bei schwarz/weiß, ist es so...Farbe wäre zu kompliziert zu erklären...
Code: |
Bild_Array[]=
001100001100
001100001100
001100001100
001111111100
001100001100
001100001100
001100001100;
|
Das soll jetzt Mal ein "H" darstellen naja und jetzt musst du dir überlegen, wie du jeden einzelnen Pixel verschieben musst...gar nicht Mal so leicht _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 01.10.2002, 09:58 Titel: |
|
|
Du kannst es auch beim Laden des Spiels berechnen und nicht in Echtzeit. Hier mal das "Konzept":
1. Mittelpunkt des Bildes berechnen.
2. Pixel nehmen und um x-Grad um den Mittelpunkt drehen.
3. Transformierten Pixel in einer anderen Surface speichern.
4. Schritt 2 und 3 für alle Pixel wiederholden.
Wenn du Mittelwerte berechnen, Sinus und Kosinus und Surface locken kannst, sollte das kein Problem darstellen. Wenn doch:
Mittelwert = (Wert10 + Wert9 + ... Wert1) / AnzahlWerte.
Zum Thema Sinus und Kosinus gibt es hier schon einen Thread.
Surfaces locken? Steht im Buch _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 01.10.2002, 11:59 Titel: |
|
|
Nach deiner Methode entsthen garantiert Löcher im Surface, weil einige Pixel (vorallem in der nähe des Drehpunktes) nicht verschoben werden, und anere um mehrere Pixel verschoben werden. Man muß im Prinzip das Zielsurface benutzen und schauen, wo das auf dem Quellsurface liegt.
Jedoch ist mit jedem rotieren immer ein gewisser (nicht zu verachtender) Informationsverlust vorhanden.
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 01.10.2002, 12:04 Titel: |
|
|
Heh? Wie willst du bitte einen Pixel rotieren?
Das bringt es nicht, da der Pixel aj nur aus einer Farbe besteht!!!
Nee du musst Winkelfunktionen schreiben und darfst nciht den Mittelpunkt nehmen sondern die linke obere Ecke... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
mortl2 Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88 Wohnort: Straubing/Bayern Medaillen: Keine
|
Verfasst am: 01.10.2002, 12:34 Titel: |
|
|
Sinus und Kosinus hatten wir in der Schule eh noch nicht, aber die Idee, dass man jede Drehung einzeln zeichnet, scheint mir bisher am leichtesten, ist hald viel aufwand!
Mortl |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 01.10.2002, 12:44 Titel: |
|
|
@TheMillenium:
Warum bitte sollte es nix bringen?? Was meinst du, wie das sonst funktioniert?
@AFE:
Das geht sehr wohl. Ich hab zu Hause so eine Routine. Damit es schöner aussieht werden die Pixel bi-linear Interpoliert. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 01.10.2002, 14:31 Titel: |
|
|
Meinte er dann wohl Pixel verschieben?
Denn rotiere bitte Mal diesen Punkt um 1°-360° und sag mir ob du dann da einen Unterschied fesstellst? Gar kein den der Pukt ist ein Fixpunkt und er hat auch immer die gleiche Farbe muss man ihn also nicht rotieren, sondern nur verschieben...und dazu braucht man halt eine oder mehrere Lineare Funktionen für jede Reihe...oder wie rotiert ihr denn? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 01.10.2002, 17:50 Titel: |
|
|
Hazel hat Folgendes geschrieben: |
2. Pixel nehmen und um x-Grad um den Mittelpunkt drehen. |
Okay, Millenium. Du bist doch der, der immer über mangelnde Intelligenz meckert, ne? Damit hast du deine Intelligenz bewiesen!
Tips für die Zukunft:
1.) Lesen, was andere schreiben
2.) Das gelesene verstehen
3.) Eine passende Antwort überlegen
Viel Glück noch für die Zukunft _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
|