Deutsch
Forum

Starpaint/Endpaint im Programm in eine nProc von XPSE unterbringen....gab es mal was ?

 

funkheld
Hallo, guten Tag.
Wie kann ich bitte die Starpaint/Endpaint in meinem Programm in eine 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

 
16.04.2016  
 



Schaue Dir mal Hubschrauber - 2D Heli Proto  [...]  an,

für genau sowas hatte ich diese Funktionen ja geschrieben und dort z.B. umgesetzt.

Ergänzend dazu hatte ich den GameFuller erstellt:  [...] 

Im 2D Heli Proto siehst Du auch Tastatur-Sprite Steuerung.
 
16.04.2016  
 




funkheld
Danke.

Aber diese Fehlermeldung kommt.

Gruss

16 kB
Hochgeladen:16.04.2016
Ladeanzahl171
Herunterladen
16 kB
Hochgeladen:16.04.2016
Ladeanzahl203
Herunterladen
 
16.04.2016  
 




funkheld
Da finde ich keine Startpaint für eine nProc.
Irgendwie gab es die doch mal für eine nProc ...? oder nicht ?

Danke.
Gruss
 
16.04.2016  
 



Die Meldungen sind ja egal, musst Dich einarbeiten.

StartPaint in nProcs ergeben eher wenig Sinn, da man ja die DCs als Parameter übergibt. Vielleicht hilft Dir dies zu wissen:

Innerhalb von StartPaint also hDC den gestartpainteten DC liefert den man wiederum in nProcs verwendet für DC-Operation.
 
16.04.2016  
 




funkheld
Ja danke.
Jetzt habe ich es geschnallt.

Ich dachte, ich hatte mal so etwas hier gelesen, das es so etwas für XPSE gab.

Gruss
 
16.04.2016  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.796 Betrachtungen

Unbenanntvor 0 min.
RudiB.15.01.2022
p.specht02.08.2018
Torsten Rümker10.05.2016
Ernst07.05.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

funkheld (4x)
iF (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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