| |
|
|
funkheld | allô, guten journée. je prends un drehendes Bild aus dem OGL-la fenêtre et lieu es dans einem hNewPic dar. je fais es weil es dans OGL simple est quelque chose trop drehen. Fuktioniert aussi soweit wunderbar. Bloß beim ersten starten vom Programme erscheint cela OGL-BIld seulement im OGL-la fenêtre si je es mindestens kurz à droite ou bien à gauche gedreht habe. cela hNewpic erscheint seulement , si je cela Hauptfenster avec qui Mauss quelque chose bewegt habe.
wohin habe je s'il te plaît beim Start un Hindernis drin?
merci. Gruss
declare hWin&,hintergrpic&,vordergrpic&
declare ende&,winkel!,groesse&,dib&,array&
declare bild_auto&,voiture1&,voiture11&,pi180!
declare bmi#,ogl_rgb#
declare x1!,y1!,dx!,dy!
Déclarer ClassName$
Def &GL_BGR $80E0
DEF CreateDIB(2) !"dib","CreateDIB"
DEF FreeDIB(1) !"dib","FreeDIB"
DEF DrawDIB(4) !"dib","DrawDIB"
DEF CloneDIB(1) !"dib","CloneDIB"
dib&=usedll("dib.dll")
hintergrpic& = create("hNewPic", 400,400,rgb(255,255,0))
vordergrpic& = create("hNewPic", 400,400,rgb(255,255,0))
bild_auto& = create("hNewPic", 128,128,rgb(255,255,0))
Pi180!=0.0174532925199433
ende&=1
array&=CreateDIB(128,128)
groesse&=128*128*4
dim ogl_rgb#,groesse&
startpaint hintergrpic&
USEP 0,1,Rgb(0,255,0)
usebrush 1,rgb(0,255,0)
ellipse 150,150-250,250
endpaint
Fenêtre 20,20-800,600
Cls RGB(220,220,220)
ClassName$ = "Fenster"
Externe("User32", "GetClassNameA", %HWnd, ClassName$, 64)
hWin& = Contrôle(Trim$(ClassName$), », $50000000, 10, 10, 128, 128, %HWnd, 0, %HInstance)
oGL("Init",hwin&,0,0,0,0)
oGL("PosMode", 1)
auto1&=oGL("LoadTextureBMP","d:/XProfan/pxpse/data/voiture1.bmp",1)
auto11&=oGL("LoadTextureBMP","d:/XProfan/xpse/data/voiture11.bmp",1)
OGL("Clear")
OGL("texture",voiture1&,1)
drawglscene
zeichne
WHILE ende&
si isKey(89)
OGL("texture",voiture1&,1)
drawglscene
zeichne
ElseIf Iskey(65)
OGL("texture",voiture11&,1)
drawglscene
zeichne
EndIf
si isKey(87)
y1!=Sin(-winkel!*Pi180!)*0.3
x1!=Cos(-winkel!*Pi180!)*0.3
dx!=dx!-x1!
dy!=dy!-y1!
zeichne
Elseif isKey(83)
y1!=Sin(-winkel!*Pi180!)*0.3
x1!=Cos(-winkel!*Pi180!)*0.3
dx!=dx!+x1!
dy!=dy!+y1!
zeichne
endif
si isKey(81)
winkel!=winkel!+0.5
drawglscene
zeichne
Elseif isKey(69)
winkel!=winkel!-0.5
drawglscene
zeichne
EndIf
Endwhile
FreeDIB(array&)
end
Proc zeichne
Début de peinture vordergrpic&
DrawPic hintergrpic&,0,0;0
drawpic bild_auto&,50+dx!,50+dy!;-1
EndPaint
DrawPic vordergrpic&, 300,50;0
ENDPROC
proc drawglscene
OGL("quad",0.5,0.5)
OGL("origin",0,0,-1.2)
OGL("rotate",0,0,winkel!)
OGL("show")
ogl("glReadPixels",0,0,128,128,&GL_BGR, ~GL_UNSIGNED_BYTE,ogl_rgb#)
setDIBits(%hdc,bild_auto&,0,128,ogl_rgb#,array&,0)
endproc
|
|
|
| |
|
|
|
RGH | sans qui DIB.DLL peux Dir aucun aider, là sich cela Programme pas effectuer peut.
Salut Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 28.04.2016 ▲ |
|
|
|
|
funkheld | Jup, ici ist vous. J'ai pensé , es wäre un Problem dans qui Programmierstruktur.
Gruss |
|
|
| |
|
|
|
Georg Teles | suis ne...aucune oGL Nutzer, so sur Schnelle mais si je folgendes fais avant qui Tandis que Boucle:
2 la fois alors de chacun Proc, ensuite wird es gezeichnet, peut-être ist quoi dans drawglscene quoi pour zeichne Procédure benütigt wird et renversé ?
PS: cela Problem trat ici aussi déjà einmal sur [...]
salut |
|
|
| |
|
|