Objekt platzieren mit der Maus

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

BastianA

Betreff: Objekt platzieren mit der Maus

BeitragSo, Mai 01, 2011 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich werkle gerade an nem Editor, doch ich hab ne Frage.

Ich habe in einem TreeView Objekte stehen. Ich möchte, dass wenn sie markiert sind, und N gedrückt wird das Objekt geladen wird.

Code: [AUSKLAPPEN]
If "A" WB3D_SelectedTreeViewNode(example_treeview) And KeyHit(49)Then
ID = ID + 1
("Mesh" + ID) = LoadMesh ("Objekte\"+Name von dem Selektierten Node)      
EndIf

If MouseDown(1) = True Then
entity% = CameraPick (cam1, MouseX(), MouseY())
EntityPickMode entity%, 2
PositionEntity entity% ,PickedX(),PickedY(),PickedZ()
EndIf


Frage: Gibt es eine Übersetzung sozusagen für "a" also genauer möchte ich, wenn irgendein Node gewählt ist, eine Bedingung ausführen?

Mr.Keks

BeitragSo, Mai 01, 2011 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe den Eindruck, du musst noch ein paar Dinge in der Dokumentation nachlesen. Ich kann dir gerade nicht alles erklären, wo bei dir offenbar Missverständnisse vorliegen, aber ich denke, mit folgenden zusammenhanglosen Zeilen kannst dus rausfinden.
BlitzBasic: [AUSKLAPPEN]
WB3D_TreeViewNodeText(my_tree_view,WB3D_SelectedTreeViewNode(my_tree_view))
Local mesh[100]
mesh[ID] = LoadMesh...
; die rueckgabe von CameraPick ist das getroffene Entity... also fuer gewoehnlich das Terrain und nicht das Entity, das du positioniern willst...
PositionEntity mesh[ID], PickedX(),PickedY(),PickedZ()
MrKeks.net
 

Maxx

BeitragMo, Mai 02, 2011 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

so würde ich das Lösen:

Code: [AUSKLAPPEN]

If Keydown(49) Then ; Taste "N"
   For nb.noteobject = Each noteobject
      If WB3D_SelectedTreeViewNode(ObjektListenTreeview) = nb\NoteID Then ObjektName$ = nb\Name$:Exit
   Next
   NeuesMesh = LoadMesh ("Objekte\"+ObjektName$) 
endif
If MouseDown(1) = True Then
  platziertesMesh = CopyMesh(NeuesMesh)
  ;Koordinaten der Maus usw besorgen und wie gewohnt per PositionEntity(platziertesMesh,...,...,...) platzieren
EndIf


Es wäre aber auf jeden Fall besser, CopyEntity() in der For-Schleife zu benutzten, anstatt das Mesh jedes Mal neu zu laden.

Gruß Maxx Smile

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group