Neuste Draw3D Version Skalierung X-Achse

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

WEBLink

Betreff: Neuste Draw3D Version Skalierung X-Achse

BeitragDo, Jan 31, 2008 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

gibts in Draw3D beid er neusten version eine Möglichkeit die X-Achsen Skalierung einzelln Einzustellen ?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Jan 31, 2008 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Beim grabben (GrabImage3D) kannst du jedem Teilbild eine individuelle X- und Y-Skallierung geben. Per Laufzeit ist X und Y individuell nicht vorgesehen (nur beide gleich), da ich unnötig viele Parameter pro Befehl vermeiden wollte. Falls du genau das wünscht, so ist es eine Sache von weniger als 1 min. es zu integrieren.

Code: [AUSKLAPPEN]
Function DrawImage3D(FDrawHandle%,FDrawX#,FDrawY#,FDrawButton%=0,FDrawAngle#=0,FDrawXScale#=,FDrawYScale#=11,FDrawFrame%=0)
   FDrawFrame=FDrawFrame*DRAWBANKSTEP
   ;DrawBank-Variablen-AUSweisung
   Local LDrawFace%=PeekInt(GDrawBank,FDrawHandle+DRAWBANKFACE+FDrawFrame)
   Local LDrawXSize#=PeekInt(GDrawBank,FDrawHandle+DRAWBANKXSIZE+FDrawFrame)*FDrawXScale
   Local LDrawYSize#=PeekInt(GDrawBank,FDrawHandle+DRAWBANKYSIZE+FDrawFrame)*FDrawYScale
   Local LDrawU1Map#=PeekFloat(GDrawBank,FDrawHandle+DRAWBANKU1MAP+FDrawFrame)
   Local LDrawV1Map#=PeekFloat(GDrawBank,FDrawHandle+DRAWBANKV1MAP+FDrawFrame)
   Local LDrawU2Map#=PeekFloat(GDrawBank,FDrawHandle+DRAWBANKU2MAP+FDrawFrame)
   Local LDrawV2Map#=PeekFloat(GDrawBank,FDrawHandle+DRAWBANKV2MAP+FDrawFrame)
   ;Variablen-Vorberechnung
   FDrawX=FDrawX-0.5
   FDrawY=FDrawY+0.5
   If FDrawAngle<>0 Then
      Local IDrawAngle#=ATan2(LDrawYSize,LDrawXSize)
      Local IDrawRadius#=Sqr((LDrawXSize*LDrawXSize)+(LDrawYSize*LDrawYSize))
      Local IDrawXPos1#=Cos(IDrawAngle+FDrawAngle)*IDrawRadius
      Local IDrawYPos1#=Sin(IDrawAngle+FDrawAngle)*IDrawRadius
      Local IDrawXPos2#=Cos(IDrawAngle-FDrawAngle)*IDrawRadius
      Local IDrawYPos2#=Sin(IDrawAngle-FDrawAngle)*IDrawRadius
   Else
      IDrawXPos1=LDrawXSize
      IDrawYPos1=LDrawYSize
      IDrawXPos2=LDrawXSize
      IDrawYPos2=LDrawYSize
   End If
   ;Vertex/Ploygon-Zuweisung/Berechnungen
   Local IDrawV0=AddVertex(LDrawFace,FDrawX-IDrawXPos1,FDrawY+IDrawYPos1,0 ,LDrawU1Map,LDrawV1Map)
   Local IDrawV1=AddVertex(LDrawFace,FDrawX+IDrawXPos2,FDrawY+IDrawYPos2,0 ,LDrawU2Map,LDrawV1Map)
   Local IDrawV2=AddVertex(LDrawFace,FDrawX+IDrawXPos1,FDrawY-IDrawYPos1,0 ,LDrawU2Map,LDrawV2Map)
   Local IDrawV3=AddVertex(LDrawFace,FDrawX-IDrawXPos2,FDrawY-IDrawYPos2,0 ,LDrawU1Map,LDrawV2Map)
   VertexColor LDrawFace,IDrawV0,GDrawGFR,GDrawGFG,GDrawGFB,GDrawGFA
   VertexColor LDrawFace,IDrawV1,GDrawGFR,GDrawGFG,GDrawGFB,GDrawGFA
   VertexColor LDrawFace,IDrawV2,GDrawGFR,GDrawGFG,GDrawGFB,GDrawGFA
   VertexColor LDrawFace,IDrawV3,GDrawGFR,GDrawGFG,GDrawGFB,GDrawGFA
   AddTriangle LDrawFace,IDrawV0,IDrawV1,IDrawV2
   AddTriangle LDrawFace,IDrawV2,IDrawV3,IDrawV0
   If FDrawButton<>0 Then CheckQuad3D(FDrawX-IDrawXPos1,FDrawY+IDrawYPos1,FDrawX+IDrawXPos2,FDrawY+IDrawYPos2,FDrawX+IDrawXPos1,FDrawY-IDrawYPos1,FDrawX-IDrawXPos2,FDrawY-IDrawYPos2,FDrawButton,"image:"+Str(FDrawHandle/DRAWBANKSTEP))
End Function


edit1: Ups, sorry, Codebeispiel bezieht sich auf die V.3.1 die ja noch nicht offiziell draussen ist.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

WEBLink

BeitragDo, Jan 31, 2008 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, hatte mich anfangs auch darüber gefreut das es weggefallen ist. NUr hatte ich es dann doch gebraucht, werde den befehl so mal so einfügen und Drawimageskale3D oder so nennen^^

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group