Type auslesen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

timo_81

Betreff: Type auslesen

BeitragDo, Feb 23, 2006 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ,
ich habe ein kleines problem.
Ich bin gerade dabei ein weltraumshooter zu basteln und
habe meine Planeteneigenschaften in types gespeichert und wollte die beim picken ausgeben.

Da ich ja bei types keinen index hab wie im array habe ich keine
ahnung wie ich nun sagen kann 'wenn du planet2 angeklickt hast nehme auch werte von den typeeigenschaften von planet2'

ich kann zwar die spheres über kugel_planet(i) ansprechen aber wie
kann ich die zugehörenden type-wert zu diesem index ausgeben??


Hier ist mein Type:
----------------------
Type planet
Field kolonisiert
Field groesse#
Field bewohnbar
Field textur
Field X
Field Y
Field Z
End Type










Und hier meine Pickfunktion:

Function pick()

For planets.planet = Each planet
If mousemode=0 then
EntityPickMode kugel_planet(i),2
NameEntity kugel_planet(i),"planet " +i
;Kamerapickmode starten
;If MouseHit(1) then
ziel=CameraPick(camera,MouseX(),MouseY())

;bei Treffer
If ziel Then

;Name und Distanz zum Ziel holen
distanz#=EntityDistance(camera,ziel)
name$=EntityName(ziel)

Color 0,0,0
Text 100,550,"Objekt:" + name$
Text 100,570,"Entfernung " + distanz#
Text 100,590,"bewohnbar =" + planets\bewohnbar
Text 100,610,"Größe:" + planets\groesse#


;Text auf Zielposition ausrichten
CameraProject camera,EntityX(ziel,1),EntityY(ziel,1),EntityZ(ziel,1)
x=ProjectedX()
y=ProjectedY()


Color 0,192,0
Text x,y,"|",1,0
Text x,y+FontHeight(),"|",1,0
Text x,y+FontHeight()*2,name$,1,0
Text x,y+FontHeight()*3,EntityDistance(camera,ziel),1,0




EndIf
If i < anzahl_planeten Then
i=i+1

End If
End if
Next

falls ich mich schlecht ausgedrückt hab sagts einfach.

Grüße
Timo

Kryan

BeitragDo, Feb 23, 2006 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
du musssst dazu die Funktion Object nehmen
damit kannst du gezielt planeten wählen Wink
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

timo_81

BeitragDo, Feb 23, 2006 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ich konnte die funktion in der hilfe nicht finden...
was genau macht die und wie ist denn die syntax?

gruß
timo

d-bug

BeitragDo, Feb 23, 2006 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
www.blitzbase.de <-- bessere Hilfe, da steht auch ql:Object drin.

cheers
 

timo_81

BeitragDo, Feb 23, 2006 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
xie xie Smile
 

timo_81

BeitragDo, Feb 23, 2006 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
oh man die beschreibung überstiegt leider mein hirn.
schade.

Kryan

BeitragDo, Feb 23, 2006 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ich versuch es dann mal zu erklären:

Wenn du n objekt da anlegst:

obj.planet=New planet

dann kannst du mit handle() einen wert kriegen:

meinplanet=Handle(planet)

Dies ist dann 1 oder 2 oder so...
Dann wählst du einen Planeten:

obj.planet=Object.planet(1)

In diesem Beispiel war es dann der erste Planet, den du erstellt hast Wink
viel spaß noch Very Happy
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Goodjee

BeitragDo, Feb 23, 2006 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
nicht, wenn du 0 als parameter eingibst?
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Kryan

BeitragDo, Feb 23, 2006 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
wie was 0 als parameter Shocked
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Goodjee

BeitragDo, Feb 23, 2006 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn man bei object 0 eingibt, is das das erste object, oder??
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/
 

timo_81

BeitragDo, Feb 23, 2006 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ich mache also irgendwo in

for planets.planet each planet

ID=Handle(planet)
Text 100,590,"bewohnbar =" + Object.planet(ID)\bewohnbar


next

??
Oder hab ich was falsch verstanden?

gruß
Timo

d-bug

BeitragDo, Feb 23, 2006 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Na das wäre aber ziemlich umständlich.

Code: [AUSKLAPPEN]
for p.planet = each planet
  Text 100,590,"bewohnbar =" + p\bewohnbar
next


wäre in dem Fall wohl besser.

Nun mal zu deiner Kernfrage, warum speicherst du die Sphere eigentlich nicht mit in dem Type ? Dann hätte sich doch dein ganzes Problem gelöst
oder ?

Code: [AUSKLAPPEN]
Type planet
  Field kolonisiert
  Field groesse#
  Field bewohnbar
  Field mesh ;<------- Sphere des Planeten
  Field textur
  Field X
  Field Y
  Field Z
End Type

Function pick()

  For p.planet = Each planet
    If mousemode=0 then
      EntityPickMode p\mesh,2
      NameEntity p\mesh,"planet " +i
      ;....usw...



...keine Ahnung ob das so gehen würde, denn der d-bug hat wirklich
null Ahnung von 3D...

cheers

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group