LinePick sehen?
Übersicht

![]() |
MegamagBetreff: LinePick sehen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibt es eine Möglichkeit den LinePick sichtbar zu machen?
Also dass eine Linie von dem einen Punkt zum anderen gezeigt wird? Das würde mir das ganze Rumprobieren und Einstellen des LinePicks ziemlich erleichtern... |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht in dem du eine 3D-Linie zeichnest... Hier ist der Code für so was: http://www.blitzbasic.com/code...p?code=839 | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Krischan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, ich habe dafür eine Funktion "Line3D", hier ein kleines Beispiel:
Aufruf mit mesh=Line3D(linie,startx,starty,startz,zielx,ziely,zielz,rot,gruen,blau,alpha,parent) Achtung: Linepick benutzt anstatt zielx/y/z das Delta zwischen den Koordinaten, diese Funktion zeichnet nur eine Linie zwischen Start (hier: Cube) und Ziel (hier: Sphere)! Code: [AUSKLAPPEN] Graphics3D 800,600,32,2
Const movespeed#=0.01 ; Kamera cam=CreateCamera() CameraRange cam,0.1,1000 PositionEntity cam,0,0,-2 ; Pivots Global wiref_piv = CreatePivot() Global solid_piv = CreatePivot() cube=CreateCube(solid_piv) ScaleEntity cube,0.1,0.1,0.1 sphere=CreateSphere(8,solid_piv) PositionEntity sphere,2,2,2 ScaleEntity sphere,0.1,0.1,0.1 linie=Line3D(Line,0,0,0,2,2,2,64,128,255,0.5,wiref_pivot) ; Maus in die Mitte MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 ; Hauptloop While Not KeyHit(1) ; Maussteuerung mxs#=MouseXSpeed() : mys#=MouseYSpeed() : pitch#=EntityPitch(cam)+(mys#/5) If pitch>89 Then pitch=89 Else If pitch<-89 Then pitch=-89 RotateEntity cam,pitch,EntityYaw(cam)-(mxs#/5),0 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 ; Tastatursteuerung If KeyDown(200) Then MoveEntity cam,0,0,movespeed If KeyDown(208) Then MoveEntity cam,0,0,-movespeed If KeyDown(205) Then MoveEntity cam,movespeed,0,0 If KeyDown(203) Then MoveEntity cam,-movespeed,0,0 If KeyHit(57) Then wf=1-wf ; Render wireframe objects. WireFrame 1 : ShowEntity wiref_piv : HideEntity solid_piv CameraClsMode cam,1,1 : RenderWorld ; Render solid objects. WireFrame wf : HideEntity wiref_piv : ShowEntity solid_piv CameraClsMode cam,0,0 : RenderWorld Flip Wend End ; 3D-Linie zwischen zwei Punkten zeichnen Function Line3D(mesh,x0#,y0#,z0#,x1#,y1#,z1#,r%=255,g%=255,b%=255,a#=1.0,parent%=False) If mesh=0 Then mesh=CreateMesh(parent) surf=CreateSurface(mesh) EntityFX mesh,1+2+16+32 Else last_surf=CountSurfaces(mesh) surf=GetSurface(mesh,last_surf) If CountVertices(surf)>30000 Then surf=CreateSurface(mesh) End If v0=AddVertex(surf,x1,y1,z1) v1=AddVertex(surf,x0,y0,z0) AddTriangle surf,v0,v0,v1 VertexColor surf,v0,r,g,b,a VertexColor surf,v1,r,g,b,a Return mesh End Function |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group