| |
|
|
Frank Abbing | avec qui relativ unbekannten API LineDDA() laisser sich tolle Effekte erzielen, ou bien très simple Linienberechnungen durchführen. ici un nouveau XPIA-Beispiel:
KompilierenMarqueSéparation {$iq}
Declare x&
Randomize
Cls
If 0
AsmInclude
.data
count dd 0
color1 dd 0
color2 dd 0
.code
LineDDAProc proc ;#################################################################################################
push ebp
mov ebp,esp
push eax
push ebx
push ecx
push edx
push edi
push esi
inc count
mov eax,[ebp+8]
mov ebx,[ebp+12]
mov ecx,[ebp+16]
mov edi,color1
.if count>=8
mov edi,color2
.endif
.if count>=16
mov count,0
.endif
push eax
push ebx
push ecx
invoke SetPixel,ecx,eax,ebx,edi
pop ecx
pop ebx
pop eax
inc eax
push eax
push ebx
push ecx
invoke SetPixel,ecx,eax,ebx,edi
pop ecx
pop ebx
pop eax
inc ebx
push eax
push ebx
push ecx
invoke SetPixel,ecx,eax,ebx,edi
pop ecx
pop ebx
pop eax
pop esi
pop edi
pop edx
pop ecx
pop ebx
pop eax
pop ebp
ret 12
LineDDAProc endp
AsmEnd
AsmStart LinePoints(x&,x&,x&,x&,x&,x&,x&)
m2m color1,para6
m2m color2,para7
invoke LineDDA,para2,para3,para4,para5,addr LineDDAProc,para1
AsmEnd
EndIf
WhileLoop 30
External(xpia$,LinePoints,%HDC,Rnd(640),Rnd(480),Rnd(640),Rnd(480),Rnd($00FFFFFF),Rnd($00FFFFFF))
EndWhile
WaitInput
Fin
|
|
|
| |
|
|
|
Jörg Sellmeyer | je versuch grad la fois so un un peu dans ASM reinzukommen. ici meckert XPSE qui Variable xpia$ à. quoi soll cet car beinhalten? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 19.08.2008 ▲ |
|
|
|
|
Frank Abbing | |
|
| |
|
|