Ring auf dem Boden zeichnen
Übersicht BlitzBasic Blitz3D
MegamagBetreff: Ring auf dem Boden zeichnen |
Mi, Jan 13, 2010 20:49 Antworten mit Zitat |
|
---|---|---|
Hi!
Ich wollte gerne ein bombe in meinem Spiel unterbringe, die Umkreisschaden verursacht. Geht auch so weit, aber ich hätte gerne, dass man sehen kann, wie groß der Radius ist und somit gerne einen Kreis auf den Boden zeichnen mit der Radiusgröße. Mein Ansatz war, ein Sprite zu erstellen eine Textur zu erstellen und dann mit dem Texturebuffer einfach ein Oval dort reinzumalen. Hat zwar geklappt, aber das Problem ist natürlich folgendes: Wenn ich das sprite nun um die Radiusgröße skaliere, verändert sich die Liniendicke ja mit. Die sollte aber immer gleich bleiben. Und ich habe ehrlichgesagt keine Ahnung, wie ich das umsetzten könnte. Danke für eure Hilfe! |
||
Goodjee |
Mi, Jan 13, 2010 20:57 Antworten mit Zitat |
|
---|---|---|
du könntest den kreis mit triangles zusammenbauen, also ein normales mesh benutzen | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Megamag |
Mi, Jan 13, 2010 21:01 Antworten mit Zitat |
|
---|---|---|
Hmm...
Könnte man natürlich machen, wobei das bei einem Kreisring relativ kompliziert werden wird. Aber gut, was tut man nicht alles für sein Spiel |
||
BadDeath |
Mi, Jan 13, 2010 23:26 Antworten mit Zitat |
|
---|---|---|
Och, das geht eigentlich:
Code: [AUSKLAPPEN] Function CreateRing(R, Size#=.1, cr=255,cg=255,cb=255,alpha=1.0,quality=370)
Local mesh=CreateMesh() Local surf=CreateSurface(mesh) Local winkelstep#=(360/Float(quality)) Local w#=winkelstep# Size# = 1-Size# Repeat v0=AddVertex(surf,Cos(w+winkelstep#) * r, 0, Sin(w+winkelstep#)*r) v1=AddVertex(surf,Cos(w) * r * Size, 0, Sin(w) * r * Size) v2=AddVertex(surf,Cos(w) * r, 0, Sin(w) * r) v3=AddVertex(surf,Cos(w+winkelstep#) * r * Size, 0, Sin(w+winkelstep#) * r * Size) AddTriangle(surf,v0,v1,v2) AddTriangle(surf,v0,v1,v3) w=w+winkelstep# Until w>360 EntityFX mesh,2+16 For i=0 To count VertexColor(surf,i,cr,cg,cb,alpha) Next UpdateNormals mesh Return mesh End Function Irgendwo fand ich hier mal einen Code für eine Scheibe oder so, wo draus ich den gebastelt hatte. |
||
-~= real coders just code in binary =~- |
Megamag |
Do, Jan 14, 2010 15:34 Antworten mit Zitat |
|
---|---|---|
Ah, danke!
Ich kann leider noch nicht mit Winkelfunktionen umgehen, deshalb wusste ich nicht, dass man das auch so lösen kann. |
||
Übersicht BlitzBasic Blitz3D
Powered by phpBB © 2001 - 2006, phpBB Group