Problem mit Types

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

nils2771989

Betreff: Problem mit Types

BeitragMi, März 05, 2008 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Im mom versuche ich einen Editor für nen Spiel zu schreiben, jedoch bin ich jetzt auf ein Problem gestoßen:

Die Daten für Wegpunkte,Checkpoints und Modelle sollen in Types gespeichert werden.
Nun soll man diese aber noch, nachdem man die gesetze hat wieder auswählen,verschieben und drehen können. Nun steh ich vor dem Problem, wie jetzt zu dem Eintrag in den Types gesprungen werden soll, denn wenn man da raufklickt weiß der PC ja nicht, an welcher stelle jetzt der Eintrag ist.

Jetzt ist die Frage, gibt es da eine Möglichkeit gibt, durch Anklicken des Objektes seine stelle under den Types zu erfahren, mit dessen Hilfe man ja dann zu dem Eintrag springen kann

Die einzige Idee, die ich im mom habe ist, bei Anklicken und Pickedentity des Objekt eine Bestimmte Eigenschaft (z.b. mit Nameentity) zu verändern und dann alle Type Einträge durchzugehen bis ein Objekt in dem Type eben diese Eigenschaft aufweist.
Das ist zwar nicht sonderlich schwer, aber wenn man viele Objekte hat, könnte das doch schon recht lange dauern.

Hat einer von euch/ihnen eine bessere Idee, wie man das sonst noch bewerkstelligen könnte?

Mfg
Nils
Schummle nicht, aber spiele nach eigenen Regeln.
Sei nicht verrückt, sondern einfach nur wahnsinnig.
Sei nicht böse, führ nur nichts Gutes im Schilde.
Verändere dich nicht, bleib immer anders.

Silver_Knee

BeitragMi, März 05, 2008 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
2 Möglichkeiten:
1. du schreibst in den Type die Meshhandle und geht dann halt der reihe nach durch : da wo die Meshhandle=Pickedentity GEFUNDEN!

2 Du gibts dem Entity Name die "HANDLE" deines Types und holst den Type mit "Object". die beiden Befehle findest du auf Blitzbase. Im Prinzip Convertieren sie Type-Eintrag->Integer-Handle und wieder zurück

Der_Schläfer

BeitragMi, März 05, 2008 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

2 Du gibts dem Entity Name die "HANDLE" deines Types und holst den Type mit "Object". die beiden Befehle findest du auf Blitzbase. Im Prinzip Convertieren sie Type-Eintrag->Integer-Handle und wieder zurück


Code: [AUSKLAPPEN]

picked=pickedentity()

for o.objekt=each objekt
if o\model=picked then
ausgewaehltes_objekt=handle(o.objekt)
endif
next

;zum type-eintrag "ausgewaehltes_objekt" springen
o.objekt=object.objekt(ausgewaehltes_objekt)



erklärungen siehe blitzbase.de

nils2771989

BeitragMi, März 05, 2008 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke...

genau sowas hab ich gesucht.

Den "object" Eintrag hab ich in der Onlinehilfe wohl nicht beachtet, da es ein undokumentierter Befehl ist Rolling Eyes

jetzt geht es wie es soll

hier mal der code Razz
Code: [AUSKLAPPEN]

;Type erschaffen
checkpoint=New checkpoint
   checkpoint\mesh=CopyEntity(point)
                 NameEntity checkpoint\mesh,"chpt"+Handle(checkpoint.checkpoint)
   checkpoint\px=EntityX(point)
   checkpoint\py=EntityY(point)
                     .
                     .
                     .

;Type auswaehlen
temppickedname$=Left(EntityName(PickedEntity()), 4 )
      
        select temppickedname
                case "chpt"
   If KeyDown(29) And tempmouse=1
      objhandle%=RSet(EntityName(PickedEntity()),Len(EntityName(PickedEntity()))-4)
      checkpoint.checkpoint=Object.checkpoint(objhandle)
      pickedcheck=objhandle
   EndIf
                case "wypt"
                               .
                               .
                               .
                end select         




MFG
Nils

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group