JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=f5f352fb81bf6802de99bdd40f226c7eMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Frage zum Thema Sprite
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Grafik und Sound
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

BeitragVerfasst am: 30.09.2002, 19:30    Titel: Frage zum Thema Sprite Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 30.09.2002, 19:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mortl2
Junior JLI'ler



Anmeldedatum: 18.09.2002
Beiträge: 88
Wohnort: Straubing/Bayern
Medaillen: Keine

BeitragVerfasst am: 30.09.2002, 19:53    Titel: Antworten mit Zitat

Gäbe es vielleicht irgendeine Alternative?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 30.09.2002, 19:54    Titel: Antworten mit Zitat

Selber einen Algorythmus schreiben... Wink
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mortl2
Junior JLI'ler



Anmeldedatum: 18.09.2002
Beiträge: 88
Wohnort: Straubing/Bayern
Medaillen: Keine

BeitragVerfasst am: 30.09.2002, 19:59    Titel: Antworten mit Zitat

@TheMillenium,

Poste mal ein Code-Beispiel, denn ich bin erst bei "ColorKeys"(also noch ein Anfänger!), und kann mir darunter noch nichts vorstellen! Rolling Eyes

Mortl
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 30.09.2002, 21:47    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 30.09.2002, 22:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 05:36    Titel: Antworten mit Zitat

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 Wink
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 09:58    Titel: Antworten mit Zitat

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 Wink
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 11:59    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 12:04    Titel: Antworten mit Zitat

Heh? Wie willst du bitte einen Pixel rotieren?

Das bringt es nicht, da der Pixel aj nur aus einer Farbe besteht!!! Razz

Nee du musst Winkelfunktionen schreiben und darfst nciht den Mittelpunkt nehmen sondern die linke obere Ecke... Very Happy
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mortl2
Junior JLI'ler



Anmeldedatum: 18.09.2002
Beiträge: 88
Wohnort: Straubing/Bayern
Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 12:34    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 12:44    Titel: Antworten mit Zitat

@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
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 14:31    Titel: Antworten mit Zitat

Meinte er dann wohl Pixel verschieben?

Denn rotiere bitte Mal diesen Punkt
Code:
.
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
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 01.10.2002, 17:50    Titel: Antworten mit Zitat

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! Razz

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 Wink
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Grafik und Sound Alle Zeiten sind GMT
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum