rechteck bei camerapick zu klein

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

timo_81

Betreff: rechteck bei camerapick zu klein

BeitragMi, Feb 08, 2006 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ,
gibt es irgendein Befehl mit dem ich die Größe eines Meshs
bestimmen kann??

Ich hab schon meshheight/width und meshdepth versucht aber
es klappt irgendwie nicht!

Ich möchte ein rect um ein gepicktes Objek ziehen.

Desweiteren würde mich auch interessieren wie man mehrere Objekte
auswählen kann in dem man mit der Maus ein Rechteck darüberzieht.


Dankeschön im Voraus
Timo

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Feb 08, 2006 23:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ScaleMesh
ScaleEntity

EDIT: Zur zweiten Frage kann ich dir nicht so gut helfen. Wenn ich sowas machen müsste, dann würde ich es mit folgendem versuchen.
EntityCollided
EntityPick
EntityVisible
 

timo_81

BeitragDo, Feb 09, 2006 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
moin ,
ich hab die frage falsch formuliert.
Ich hätte gern die größe eines mesh als rückgabewert

naja ich hab ne idee
ich versuchs ma selber hehe
greetz
timo
 

timo_81

BeitragDo, Feb 09, 2006 1:07
Antworten mit Zitat
Benutzer-Profile anzeigen
i = 0
k = 0
For planets.planet = Each planet
EntityPickMode kugel_planet(i),2
If MouseHit(1)=True Then
pick=CameraPick(camera,MouseX(),MouseY())
If pick=kugel_planet(i) Then
Color 10,0,40
Rect EntityX(kugel_planet(i)),entityY(kugel_planet(i)),meshwidth(kugel_planet(i))+20,meshheight(kugel_planet(i))+20,0
End if
End if


Irgendwie geht es nicht obwohl alles richtig deklariert ist...

der codeabschnitt ist in der while....schleife eingebetet muesste also
laufend akualisiert werden

aber nichts passiert...

gruß
timo

hamZta

Administrator

BeitragDo, Feb 09, 2006 1:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst doch keine 3D-Koordinaten für 2D-Aufgaben verwenden.

Schau dir mal die Project-Befehle an. (CameraProject & Co.)
Blog.
 

timo_81

BeitragDo, Feb 09, 2006 1:32
Antworten mit Zitat
Benutzer-Profile anzeigen
CameraProject(camera,EntityX(kugel_planet(i)),EntityY(kugel_planet(i)),EntityZ(kugel_planet(i)))
Rect ProjectedX(),ProjectedY(),MeshWidth(kugel_planet(i))+20,MeshHeight(kugel_planet(i))+20,0

geht auch nich

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Feb 09, 2006 1:37
Antworten mit Zitat
Benutzer-Profile anzeigen
@hamZta, wenn man die Kamera entsprechend positioniert (Z=-BildschirmauflösungX/2). Dann geht es 1:1 super...

@timo_81, keine Ahnung ob folgende Methode zum feststellen einer Meshgröße die beste ist... Logischer Aufbau.
For zaehlesurfaces=1 to CountSurfaces(mesh)
For zaehlevertices=1 to CountVertices(GetSurface(mesh,zaehlevertices))
If NeuNXL>VertexNX(GetSurface(mesh),zaehlevertices) Then NeuNXL=VertexNX(GetSurface(mesh),zaehlevertices)
If NeuNXR<VertexNX(GetSurface(mesh),zaehlevertices) Then NeuNXR=VertexNX(GetSurface(mesh),zaehlevertices)
Next
Next
Print "Breite ist: "+Str(Int((NeuNXR-NeuNXL)))

EDIT: 2D-Befehle kann man erst sehen wenn diese nach RenderWorld aber vor Flip gezeichnet werden.
 

timo_81

BeitragDo, Feb 09, 2006 1:52
Antworten mit Zitat
Benutzer-Profile anzeigen
das zweite wars hehe oh man ich fisch danke...
timo

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group