Italia
Foro

Startpaint/Endpaint in un nProc von XPSE unterbringen.

 

funkheld
Hallo, guten Tag.
Wie kann ich bitte die Starpaint/Endpaint in meinem Programm in un nProc von XPSE unterbringen ?

Hier möchte ich sie bitte rein haben:
nProc drawhPicRotated(long hPic,dc,x,y,xx,yy,w,r)

diese:
startpaint vordergrpic&
drawpic hintergrpic&,0,0;0
drawpic bpic1&,dx!,dy!;-1,$ff00ff
endpaint

und wenn es auch geht diese, welches von der Tastatur gesteuert werden:

startpaint bpic1&
drawhPicRotated(bpicbmp&,hDC,50,50,50,50,winkel&,verh&)
endpaint

Das heisst ich möchte nur:
drawhPicRotated(bpicbmp&,hDC,50,50,50,50,winkel&,verh&)
aufrufenvon der Tastatur und das andere soll in der nProc abgearbeitet werden.

Irgendwo hatte ich hier mal gelesen, das so etws gemacht wurde.

Danke.
Gruss
 {$cleq}
declare bpic&, bpic1&,bpicbmp&,ende&,winkel&,hintergrpic&,vordergrpic&
declare x1!,y1!,dx!,dy!,verh&
ende&=1
bpic& = create("hPic",-1,"data\\auto.bmp")
Window 20,20-800,600
Cls RGB(220,220,220)
bpicbmp& = create("hNewPic", 100,100,rgb(255,0,255))
bpic1& = create("hNewPic", 100,100,rgb(255,0,255))
hintergrpic& = create("hNewPic", 500,500,rgb(255,255,0))
vordergrpic& = create("hNewPic", 500,500,rgb(255,255,0))
startpaint bpicbmp&
drawpic bpic&,18,18;-1,$ff00ff
EndPaint
startpaint hintergrpic&
UsePen 0,1,Rgb(,128,255)
usebrush 1,rgb(0,128,255)
ellipse 200,200-250,250
endpaint
verh&=75
dx!=60
dy!=60
startpaint bpic1&
drawhPicRotated(bpicbmp&,hDC,50,50,50,50,winkel&,verh&)
endpaint

WHILE ende&

    if isKey(83)

        y1!=Sin((winkel&/1000)/180.0*pi())*0.2
        x1!=Cos((winkel&/1000)/180.0*pi())*0.2
        dx!=dx!-x1!
        dy!=dy!-y1!

    endif

    if isKey(87)

        y1!=Sin((winkel&/1000)/180.0*pi())*0.2
        x1!=Cos((winkel&/1000)/180.0*pi())*0.2
        dx!=dx!+x1!
        dy!=dy!+y1!

    endif

    if isKey(81)

        winkel&=winkel&-1000
        startpaint bpic1&
        drawhPicRotated(bpicbmp&,hDC,50,50,50,50,winkel&,verh&)
        endpaint

    endif

    if isKey(69)

        winkel&=winkel&+1000
        startpaint bpic1&
        drawhPicRotated(bpicbmp&,hDC,50,50,50,50,winkel&,verh&)
        endpaint

    endif

    startpaint vordergrpic&
    drawpic hintergrpic&,0,0;0
    drawpic bpic1&,dx!,dy!;-1,$ff00ff
    endpaint
    drawpic vordergrpic&,10,10;0

ENDWHILE

end

nProc getCircP(long r,w)

    return long(sin(0.0174532925199433*float(w)/1000.0)*float(r))

endproc

nProc angleByLine(long x,y,xx,yy)

    sub y,yy
    sub x,xx

    if x

        xx=int(57295.77951 * arctan(float(y)/float(x)))
        case x>0 : return 270000 + xx
        return 90000 + xx

    endif

    case y<0 : return 180000
    return 0

endproc

nProc drawhPicRotated(long hPic,dc,x,y,xx,yy,w,r)

    long hDCBits=createCompatibleDC(hDC)
    selectObject(hDCBits, hPic)
    long pts=dim(24)
    long w1=angleByLine(xx,yy,0,0)
    Long w2=abs(w1-360000)
    Long w3=abs(w1-540000)
    casenot r : r=long(sqrt(float(xx*xx+yy*yy)))\2
    long pts&,0=x+getcircp(r,w1+w)
    long pts&,4=y+getcircp(r,w1-90000+w)
    long pts&,8=x+getcircp(r,w2+w)
    long pts&,12=y+getcircp(r,w2-90000+w)
    long pts&,16=x+getcircp(r,w3+w)
    long pts&,20=y+getcircp(r,w3-90000+w)
    plgBlt(dc,pts,hDCBits,0,0,100,100,0,0,0)
    deleteDC(hDCBits)
    dispose(pts)

endproc

 
13.04.2016  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.979 Views

Untitledvor 0 min.
iF31.10.2020
Georg Teles26.01.2019
funkheld22.05.2016
Wilfried22.05.2016
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

funkheld (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie