Sprite als Child einer Kamera ?

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Bura.Tino

Betreff: Sprite als Child einer Kamera ?

BeitragDo, Aug 30, 2007 3:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Servus.

Ich versuche schon seit 'ner Weile ein Sprite als Child meiner Hauptkamera zu erstellen, aber irgendwie funktioniert es nicht.

Ich habs mit
Code: [AUSKLAPPEN]
Sprite=LoadSprite("bla",Kamera)

als auch mit
Code: [AUSKLAPPEN]
Sprite=LoadSprite("bla")
EntityParent Sprite, Kamera

versucht.

Beides funktioniert aber nicht. Das Sprite heftet nicht an der Kamera. Kann mir jemand sagen woran das liegen könnte ?
Rolling Eyes <- Ich liebe dieses Smilie ! Very Happy

tft

BeitragDo, Aug 30, 2007 8:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ....

also so geht das garnicht. Du must bedenken das das Sprite an der Position der Kammera steht. Und du es daher ja garnicht sehen kanst. Du must das Sprite mit MoveEntity oder PositionEntity so verschieben das es vor der Kammera stet. Dann ist noch die Grösse/Scalierung des Sprite zu beachten. Die Sichtweite der Kammera ist standart mässig eingestelt auf min=1 Max=1000, Daher must du das Sprite grundsätzlich um mer als 1 in der Z achse verschieben.

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Bura.Tino

BeitragDo, Aug 30, 2007 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh Pardon. Meine erster Post war wohl zu kurz gefasst.
Die von Dir gemachten Vorschläge sind alle in meinem Code mit drin. Ich hielt sie für selbstverständlich und hab sie somit nicht geposted.

Also hier mal ein Beispielcode wie ich es versucht habe.
Code: [AUSKLAPPEN]
Screen und so...

 Sprite=LoadSprite("bla.png")
 ScaleSprite Sprite,50,50
 EntityOrder Sprite,-99
 EntityParent Sprite,Kamera
 MoveEntity Sprite,0,0,5

Hauptschleife...(While/Wend)


Das Sprite wird korrekt geladen und auch angezeigt, aber eben immer nur an Koordinaten an denen es erstellt wurde, wo es leider auch bleibt, wenn ich die Kamera bewege.
Auch SPRITEVIEWMODE brachte mich nicht weiter.
Rolling Eyes <- Ich liebe dieses Smilie ! Very Happy

tft

BeitragDo, Aug 30, 2007 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ..

als erstes ist wol die scalierung etwas gross gerate. Und dann ? was soll das EntityOrder. Und im übrigen kann man nie von etwas ausgehen. Smile Jeder Coded nach seinem eigenen Stile. Und anfänger fragen hir ja auch.
Wie gross ist denn das Sprite und was ist denn dabei zu sehn. Mach doch mal einen Qube an die Stelle und schau ob du dehn sehen kanst. Und haste auch eine Lichtquelle? Ohne licht siet man nichts. Auch keine Sprites. Das ist bei Blitz2D anders.

gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Bura.Tino

BeitragDo, Aug 30, 2007 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Sprite wird aus einer 64x64px großen Datei geladen, auf dem ein Pfeil zu sehen ist. Die Skalierungsgröße ist eigentlich egal, denn es ist ja nur ein Test. Als Licht hab ich momentan nur das AmbientLight, aber das is auch nicht der springende Punkt, denn angezeigt wird es ja, aber eben nicht mit der Kamera mitbewegt.
Rolling Eyes <- Ich liebe dieses Smilie ! Very Happy

tft

BeitragDo, Aug 30, 2007 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ...

Ups .. das ist mir doch tatsächlich beim lesen entganngen. Sorry. Ich denke nach .. plaese wait.....
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

tft

BeitragDo, Aug 30, 2007 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
HI...

welche version von B3d benuzt du und hast mal versucht den Sprite gegen ein 3 D Object zu ersetzten?
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Bura.Tino

BeitragDo, Aug 30, 2007 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Kein Problem. Wink


EDIT:
Ich hab grad mal was ausprobiert, was mir weitere Rätsel aufgibt.
Als ich
Code: [AUSKLAPPEN]
EntityParent Sprite,ABC123


versuchte, kam bei mir keine Fehlermeldung, obwohl es das Objekt 'ABC123' gar nicht gibt. Da müsste doch aber eine kommen, oder ?
Surprised

Auch das GLOBAL nach EntityParent brachte nichts. Sad
Rolling Eyes <- Ich liebe dieses Smilie ! Very Happy
  • Zuletzt bearbeitet von Bura.Tino am Do, Aug 30, 2007 14:34, insgesamt einmal bearbeitet

tft

BeitragDo, Aug 30, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ...

was ist kein Problem ....... ? Die darstellung eines 3D Objectes.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Xeres

Moderator

BeitragDo, Aug 30, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Edit: Nehme alles zurück ^^
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
  • Zuletzt bearbeitet von Xeres am Do, Aug 30, 2007 14:35, insgesamt einmal bearbeitet

tft

BeitragDo, Aug 30, 2007 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ..

er sagte ja das es das Sprite sehen kann . Dann muss das wol so sein
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

tft

BeitragDo, Aug 30, 2007 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ...

das einzige was mir dazu einfällt ist das die Variable Kamera=0 ist. Dann wird nämlich das Entity wider entkoppelt. Lass dir mal den wert von Kamrea auf den Bildschirm ausgeben und kontroliere nochmal die Schreibweise
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Aug 30, 2007 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ein Beispielcode

Code: [AUSKLAPPEN]
Graphics3D 800,600,0,2
SetBuffer BackBuffer()

camera=CreateCamera()
sprite=CreateSprite()
PositionEntity camera,400,-300,-400
;PositionEntity camera,0,0,-400
HidePointer




While Not KeyHit(1)
 mx=MouseX()
 my=MouseY()

 PositionEntity sprite,mx,-my,0
 RenderWorld

 Rect mx-3,my-3,6,6,0
 Text 0,0,mx+" "+my
 Flip
Wend
End


Wenn du nun ein Sprite von 64x64 Kantenlänge hast, und willst das dieser 1:1 dargestellt wird, so muss das Sprite noch mit ScaleSprite sprite,64,64 durchgeführt werden.

Eine Bewegungseinheit X/Y in der 3D-Welt ergibt ein Pixel auf dem Bildschirm.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Bura.Tino

BeitragDo, Aug 30, 2007 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry tft. Hatte Deinen Doppelpost überlesen.
Also mit einem 3D-Objekt geht es, denn so hatte ich es erst.

@hectic
Wie man das macht weiß ich ja, aber es funktioniert eben nicht.

PS: Die Kamera hat nicht den Wert '0'.
Rolling Eyes <- Ich liebe dieses Smilie ! Very Happy

tft

BeitragDo, Aug 30, 2007 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ...

potz Blitz ... würde der alte Fritz jetzt sagen .... Poste mal den gesamten Code. Denn eigentlich solte das funktionieren, Da ist der Wurm drinn.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Bura.Tino

BeitragDo, Aug 30, 2007 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich doch schon. Den gesamten Code meines Programms werd ich nicht posten, denn das sind über 5000 Zeilen. Laughing
Rolling Eyes <- Ich liebe dieses Smilie ! Very Happy

tft

BeitragDo, Aug 30, 2007 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ...

dan kann ich nur sagen das in den 5000 Zeilen irgendwo der wurm drinn ist. Denn grundsätzlich funktioniert das so. Zumindestens bei mir. Benutzt du das Orginal oder dei Demo.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Bura.Tino

BeitragDo, Aug 30, 2007 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub ich habs. Wenn das Spirte geladen wird, existiert die Kamera noch nicht. Also erstellt ist sie zwar, aber die Variable 'Kamera' ist null. Jetzt muss ich nur noch herrausfinden wieso dem so ist.

Aber nochmal zu meiner Frage von vorhin...Wenn ich ein Sprite an ein nicht-existentes Objekt pappen will, so müsste doch eigentlich eine Fehlermeldung kommen !?
Rolling Eyes <- Ich liebe dieses Smilie ! Very Happy

tft

BeitragDo, Aug 30, 2007 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

und wie siet es mit der Variable Sprite aus? Ist die auch grösser 0, Und check doch mal mit getChild ob überhaupt eines an die Kammera gehöngt ist-
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

tft

BeitragDo, Aug 30, 2007 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ..

nein ... weil bei EntityParent wird das Child damit wider gelöst.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group