| |
|
|
- Page 1 - |
|
Julian Schmidt |
|
|
| |
|
|
|
| |
|
- Page 7 - |
|
| Gibt doch Kopiermodus -1,
umzusetzen ganz ohne OGL wäre das garnicht schwer. |
|
|
| |
|
|
| |
|
- Page 8 - |
|
|
Julian Schmidt | Jau, nur wie bekomme ich die Bildteile in un Puzzleteilform ausgeschnitten (unabhängig von der Bildgröße und Teileanzahl). Wobei im Hintergrund per Kopiermodus -1 Transparenz gesetzt werden müsste |
|
|
| |
|
|
|
| Na indem Du ein Puzzleteil (z.B. in ein hPic) zeichnest und eine z.B. schwarze Form (auch mit -1) drübermalst und damit quasi den überstehenden Teil ausstanzt um ein "Sprite" zu erhalten. |
|
|
| |
|
|
|
Julian Schmidt | Dann wird bei mir allerdings der ausgestanzte Bildteil wiederum durch Weiß ausgefüllt. Und nicht wie erhofft Transparent. Schau hier...
CLS
Randomize
Declare pos_x&, pos_y&, way_x&, way_y&
Var sprite&=Create("hPic",-1,"C:\Puzzle.bmp")
Var bild&=Create("hNewPic", 190, 243, 0)
MoveTo RND(%bmpx+1),RND(%bmpy+1)
StartPaint bild&
whileloop 1000
UsePen 0,3,RND(256*256*256)
LineTo RND(%bmpx+1),RND(%bmpy+1)
EndWhile
DrawPic sprite&, 0, 0, -1, 0
EndPaint
Usermessages 16
WhileNot iskey(27) or (%Umessage=16)
Case pos_x&<0 : way_x&=0
Case pos_x&+%bmpx>width(%hwnd) : way_x&=-1
Case pos_y&<0 : way_y&=0
Case pos_y&+%bmpy>height(%hwnd) : way_y&=-1
Case way_x&<>-1 : pos_x&=pos_x&+1
Case way_y&<>-1 : pos_y&=pos_y&+1
Case way_x&=-1 : pos_x&=pos_x&-1
Case way_y&=-1 : pos_y&=pos_y&-1
DrawBackground()
DrawPic bild&, pos_x&, pos_y&; 0
EndWhile
Deleteobject sprite&
Deleteobject bild&
Proc DrawBackground
UsePen 0,10,RGB(128,128,128)
whileloop Int((width(%hwnd)+height(%hwnd))\100)
Line 0,100*&loop - 100*&loop,0
EndWhile
EndProc
|
|
|
| |
|
|
|
| Buuh!
XProfan 11.2.1.8a.63 Praekompiler [XPSE] Copyright (C) 1998-2010 XProfan.Com, built DE. File: c:\dev\5\test.prf Warnung: Unbekannte Escapesequenz in Stringkonstante: "C:\Puzz le.bmp" [C]ompile [ I]nterpr [L]ink [R]unPrc Run[E]xe [S]ource [H]ilfe XPSE:>
Eher so:
''{$CLEQ}
'URL: https://xprofan.com/intl/de/spiele/schiebe-puzzle-opensource/#bottom
CLS
Randomize
Declare pos_x&, pos_y&, way_x&, way_y&
Var sprite&=Create("hPic",-1,"C:\\Puzzle.bmp")
Var bild&=Create("hNewPic", 190, 244, 0)
MoveTo RND(%bmpx+1),RND(%bmpy+1)
StartPaint bild&
whileloop 1000
UsePen 0,3,RND(256*256*256)
LineTo RND(%bmpx+1),RND(%bmpy+1)
EndWhile
DrawPic sprite&, 0, 0, -1
EndPaint
Usermessages 16
WhileNot iskey(27) or (%Umessage=16)
Case pos_x&<0 : way_x&=0
Case pos_x&+%bmpx>width(%hwnd) : way_x&=-1
Case pos_y&<0 : way_y&=0
Case pos_y&+%bmpy>height(%hwnd) : way_y&=-1
Case way_x&<>-1 : pos_x&=pos_x&+1
Case way_y&<>-1 : pos_y&=pos_y&+1
Case way_x&=-1 : pos_x&=pos_x&-1
Case way_y&=-1 : pos_y&=pos_y&-1
DrawBackground()
DrawPic bild&, pos_x&, pos_y&; 0
EndWhile
Deleteobject sprite&
Deleteobject bild&
Proc DrawBackground
UsePen 0,10,RGB(128,128,128)
whileloop Int((width(%hwnd)+height(%hwnd))\100)
Line 0,100*&loop - 100*&loop,0
EndWhile
EndProc
|
|
|
| |
|
|
|
Julian Schmidt | Es hat sich im Endeffekt dadurch wenig verändert. Die Transparenz fehlt immer noch. |
|
|
| |
|
|
|
| Solch Minipatch hab ich Dir schlicht gesagt fix zugetraut:
CLS
Randomize
Declare pos_x&, pos_y&, way_x&, way_y&
Var sprite&=Create("hPic",-1,"C:\\Puzzle.bmp")
Var bild&=Create("hNewPic", 190, 243, 0)
MoveTo RND(%bmpx+1),RND(%bmpy+1)
StartPaint bild&
whileloop 1000
UsePen 0,3,RND(256*256*256)
LineTo RND(%bmpx+1),RND(%bmpy+1)
EndWhile
DrawPic sprite&, 0, 0, -1
EndPaint
DrawBackground()
DrawPic bild&, 0,0,-1
Deleteobject sprite&
Deleteobject bild&
waitinput
Proc DrawBackground
UsePen 0,10,RGB(128,128,128)
whileloop Int((width(%hwnd)+height(%hwnd))\100)
Line 0,100*&loop - 100*&loop,0
EndWhile
EndProc
|
|
|
| |
|
|
|
Manfred Barei | Hallo Julian,
ich möchte iF ja nicht zu nahe treten , aber lass es so wie es ist, den Schiebepuzzel waren schon immer eckig.
Siehe Bild.
Saluto Manfred |
|
|
| Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 23.05.2012 ▲ |
|
|
|
|
| Darum ja meine Idee...
normale solche Puzzle gibts ja bereits...
imho aber eben keins das sich dahingehend unterscheidet.
Wenn er es gleich sauber anlegt dann ists schlicht eine "Option" -
zudem hatte ichs auch schon als Denksportkleinaufgabe angedacht
bzw. würde mancher es vielleicht auch "Herausforderung" nennen. |
|
|
| |
|
|
|
Julian Schmidt | Jup, so sehe ich das auch. Ob es dann im Endeffekt ins Programm einfließt kann ich zum aktuellen Zeitpunkt nicht sagen. |
|
|
| |
|
|
|
Manfred Barei | ok iF, so habe ich das nicht gesehen. Sicher sollte man versuchen immer was neues zu probieren.
gruß |
|
|
| Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 27.05.2012 ▲ |
|
|
|
|
| Aus solchen Stabilire entschied ich mich damals z.B. auch dazu ein völlig eigenes Foren-System herzustellen mit verschiedenen Eigenschaften die eben von no anderen Forensystem vorgebracht werden oder auch das native Profan per nProcs herzustellen. Alles sozusagen "Herausforderungen" und wie ich finde mit gelungenen Ergebnissen. |
|
|
| |
|
|