direkt auf Desktop malen? (ähnlich Win-BüroklammerAssistent)
direkt auf Desktop malen? (ähnlich Win-BüroklammerAssistent)
tag allerseits
ich versuche etwas ähnliches wie diesen Büroklammer Assistenten zu machen. Will allerdings nicht Merlin etc benutzen.
Kann ich irgendwie Transparente Sprites/3DSprites auf den Desktop malen?
Hab jetz mal Unsichtbare Fenster benutzt, aber sobald ich z.B. DrawText ein bisschen Text ausgeben möchte, wird das Fenster sichtbar.. erwartet hatte ich, dass es unsicthbar bleibt, und nur der Text sichtbar wird.. wohl mein Denkfehler.
danke
M.
ich versuche etwas ähnliches wie diesen Büroklammer Assistenten zu machen. Will allerdings nicht Merlin etc benutzen.
Kann ich irgendwie Transparente Sprites/3DSprites auf den Desktop malen?
Hab jetz mal Unsichtbare Fenster benutzt, aber sobald ich z.B. DrawText ein bisschen Text ausgeben möchte, wird das Fenster sichtbar.. erwartet hatte ich, dass es unsicthbar bleibt, und nur der Text sichtbar wird.. wohl mein Denkfehler.
danke
M.
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
ich denke am besten ist es, SkinWin vonDanilo zu nutzen. Ich versuchs mal damit.
Das Problem das ich noch habe ist, wie mache ich es, dass der "Agent" immer im Vordergrund ist, auch wenn eine andere Anwendung gerade aktiv ist?
- edit :
gefunden:
SetWindowPos_(WindowID(WindowID), #HWND_TOPMOST, WindowX(), WindowY(), WindowWidth(), WindowHeight(), #SWP_SHOWWINDOW)
Das Problem das ich noch habe ist, wie mache ich es, dass der "Agent" immer im Vordergrund ist, auch wenn eine andere Anwendung gerade aktiv ist?
- edit :
gefunden:
SetWindowPos_(WindowID(WindowID), #HWND_TOPMOST, WindowX(), WindowY(), WindowWidth(), WindowHeight(), #SWP_SHOWWINDOW)
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
gab da kürzestens erst was gepostet .. mit skinwin vom Danilo und Ton
im thread
3D Model als EXE ohne Player
im thread
3D Model als EXE ohne Player
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
ja, mit skinwin bin ich jetz grade dran.
dabei taucht aber ein Problem auf:
ich tausche für die Animation des "Sprites" die Bilder aus, und führe dann ein Skinwin aus.
Nach einiger Zeit..bzw eigen Animationsfolgen, spätestens aber nach dem 2. Richtungswechsel irgendwann, wird zwar die Siliuette korrekt ausgeschnitten, aber das Bild eines alten Sprites bleibt im hintergrund sichtbar, der rest wird entweder schwarz oder Bildschirmhitnergrundmässig angezeigt..
versuchts mal:
http://www.chamaeleo-fx.de.vu/Dateien/TamaCham.rar
Code, Exe und Bitmaps liegen bei, 120kb
Danilos PureTools werden benötigt. (SkinWin)
Einfach ausführen, das Tier läuft von links nach rechts .. irgendwann werdet ihr bei der animierten Vorderpfote einen Grafikfehler im Hintergurnd feststellen, nach einem Richtungswechsel evtl sogar am ganzen Tier.
dabei taucht aber ein Problem auf:
ich tausche für die Animation des "Sprites" die Bilder aus, und führe dann ein Skinwin aus.
Nach einiger Zeit..bzw eigen Animationsfolgen, spätestens aber nach dem 2. Richtungswechsel irgendwann, wird zwar die Siliuette korrekt ausgeschnitten, aber das Bild eines alten Sprites bleibt im hintergrund sichtbar, der rest wird entweder schwarz oder Bildschirmhitnergrundmässig angezeigt..
versuchts mal:
http://www.chamaeleo-fx.de.vu/Dateien/TamaCham.rar
Code, Exe und Bitmaps liegen bei, 120kb
Danilos PureTools werden benötigt. (SkinWin)
Einfach ausführen, das Tier läuft von links nach rechts .. irgendwann werdet ihr bei der animierten Vorderpfote einen Grafikfehler im Hintergurnd feststellen, nach einem Richtungswechsel evtl sogar am ganzen Tier.
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
auf dem Trichter die skinwin's bei Bedarf neru zu erzeugen war ich auch zuerst .. das ging aber aus dem geschilderten Grund nicht ..
Ich hab einfach (einfach??) n Sack voll Fenster generiert die ich nacheinander per Hidewindow() anknipse und ausknipse.
Kostet zwar Speicher und dauert beim Initialisieren ne Ewigkeit (je nach Größe und Anzahl der zu erzeugenden Fenster) aber es geht.
Dein Chamäleon frisst zuviel Speicher. und es verschwindet tlw. nach einer gewissen Zeit.
Ich hab mir mal erlaubt Deine Echsen zu missbrauchen.
rechter Mausklick auf der Echse läss die laufen. (nur nach Rechts aber immerhin)
ESC oder F10 oder Alt-F4 wenn auf die Echse getippt wurde beendet das Programm (undokumentierte evenWParam() Funktion)
Ich hab einfach (einfach??) n Sack voll Fenster generiert die ich nacheinander per Hidewindow() anknipse und ausknipse.
Kostet zwar Speicher und dauert beim Initialisieren ne Ewigkeit (je nach Größe und Anzahl der zu erzeugenden Fenster) aber es geht.
Dein Chamäleon frisst zuviel Speicher. und es verschwindet tlw. nach einer gewissen Zeit.
Ich hab mir mal erlaubt Deine Echsen zu missbrauchen.
rechter Mausklick auf der Echse läss die laufen. (nur nach Rechts aber immerhin)
ESC oder F10 oder Alt-F4 wenn auf die Echse getippt wurde beendet das Programm (undokumentierte evenWParam() Funktion)
Code: Alles auswählen
Global maxx,maxy,hwnd,x,y
maxx = GetSystemMetrics_(#SM_CXSCREEN)
maxy = GetSystemMetrics_(#SM_CXSCREEN)
LengSound=120
LengSound1=224
LengSound2=446
AnimPause=0
AnimPause1=0
AnimPause2=0
UsePNGImageDecoder()
Image0=CatchImage(0,?SkinPicture0)
Image1=CatchImage(1,?SkinPicture1)
Image2=CatchImage(2,?SkinPicture2)
Image3=CatchImage(3,?SkinPicture3)
Image4=CatchImage(4,?SkinPicture4)
Image5=CatchImage(5,?SkinPicture5)
Image6=CatchImage(6,?SkinPicture6)
Procedure updateallwins()
For I=0 To 6
UseWindow(i)
MoveWindow(x,y)
Next i
EndProcedure
Procedure MoveIt(S)
x=x+S
Updateallwins()
EndProcedure
b=ImageWidth()
h=ImageHeight()
OpenWindow(6,maxx-b,0,b,h,#PB_Window_BorderLess|#PB_Window_Invisible,"PB - SkinWin Example 4")
CreateGadgetList(WindowID(6))
SkinWin(WindowID(6),Image6)
OpenWindow(5,maxx-b,0,b,h,#PB_Window_BorderLess|#PB_Window_Invisible,"PB - SkinWin Example 4")
CreateGadgetList(WindowID(5))
SkinWin(WindowID(5),Image5)
OpenWindow(4,maxx-b,0,b,h,#PB_Window_BorderLess|#PB_Window_Invisible,"PB - SkinWin Example 4")
CreateGadgetList(WindowID(4))
SkinWin(WindowID(4),Image4)
OpenWindow(3,maxx-b,0,b,h,#PB_Window_BorderLess|#PB_Window_Invisible,"PB - SkinWin Example 4")
CreateGadgetList(WindowID(3))
SkinWin(WindowID(3),Image3)
OpenWindow(2,maxx-b,0,b,h,#PB_Window_BorderLess|#PB_Window_Invisible,"PB - SkinWin Example 4")
CreateGadgetList(WindowID(2))
SkinWin(WindowID(2),Image2)
OpenWindow(1,maxx-b,0,b,h,#PB_Window_BorderLess|#PB_Window_Invisible,"PB - SkinWin Example 4")
CreateGadgetList(WindowID(1))
SkinWin(WindowID(1),Image1)
OpenWindow(0,maxx-b,0,b,h,#PB_Window_BorderLess|#PB_Window_Invisible,"PB - SkinWin Example 4")
CreateGadgetList(WindowID())
SkinWin(WindowID(),Image0)
HideWindow(0,0)
SetWindowPos_(WindowID(0),#HWND_TOPMOST,0,0,0,0,#swp_nosize)
; CreateThread(@moveit(),0)
Repeat
evnt=WaitWindowEvent()
If evnt<>512
Debug evnt
Debug EventwParam()
Debug EventlParam()
EndIf
Select EventwParam()
Case 27
End
Case 121
End
EndSelect
Select evnt
; IF LeftMouseButton pressed...
Case #WM_LBUTTONDOWN
SendMessage_(WindowID(),#WM_NCLBUTTONDOWN, #HTCAPTION,0)
Case #WM_RBUTTONDOWN
For lauf=1 To 20
For i= 0 To 5
Moveit(2)
HideWindow(i+1,0)
HideWindow(i,1)
Delay(150)
Next i
HideWindow(0,0)
HideWindow(6,1)
Next Lauf
Case #PB_EventGadget
Select EventGadgetID()
Case 1 ; EXIT
End
EndSelect
; pressed ALT+F4 ??
Case #PB_EventCloseWindow
End
EndSelect
x=WindowX()
y=WindowY()
If x<0
x=0
EndIf
If y<0
y=0
EndIf
If x>(maxx-WindowWidth())
x=maxx-WindowWidth()
EndIf
If y >(maxy-WindowHeight()*2)
y=maxy-WindowHeight()*2
EndIf
Updateallwins()
ForEver
End
DataSection
SkinPicture0:IncludeBinary "Cham1-0.PNG"
SkinPicture1:IncludeBinary "Cham1-1.PNG"
SkinPicture2:IncludeBinary "Cham1-2.PNG"
SkinPicture3:IncludeBinary "Cham1-3.PNG"
SkinPicture4:IncludeBinary "Cham1-4.PNG"
SkinPicture5:IncludeBinary "Cham1-5.PNG"
SkinPicture6:IncludeBinary "Cham1-6.PNG"
EndDataSection
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
hm. is das ein bug , oder gehört das so? ne weile funktioniert das ja prima..
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
hi SirCus,
ich dachte immer das SkinWin() nur das fenster zuschneidet,
aber das zeichet ja sogar auf das fenster, meistens zumindest
wenn man vor SkinWin() das image auf das fenster zeichnet, dann geht es scheinbar ohne fehler....
und ich hab festgestellt das das tier fast stehen bleibt, wenn man mit der maus an ihm rumfummelt
da hab ich jetzt noch schnell einen timer reingebastelt...
hier mal der geänderte code von deiner hauptschleife:
mfG
Tobi
ich dachte immer das SkinWin() nur das fenster zuschneidet,
aber das zeichet ja sogar auf das fenster, meistens zumindest
wenn man vor SkinWin() das image auf das fenster zeichnet, dann geht es scheinbar ohne fehler....
und ich hab festgestellt das das tier fast stehen bleibt, wenn man mit der maus an ihm rumfummelt
da hab ich jetzt noch schnell einen timer reingebastelt...
hier mal der geänderte code von deiner hauptschleife:
Code: Alles auswählen
;
; immer im Vordergrund bleiben (einmal aufrufen reicht)
MakeStayOnTop(WindowID(WindowID), 1)
Timer = 40
Zeit = ElapsedMilliseconds() + Timer
Repeat
If Zeit < ElapsedMilliseconds()
Zeit = ElapsedMilliseconds() + Timer
Move_Cham()
Anim_Cham()
StartDrawing(WindowOutput())
DrawImage(UseImage(CurrentCham), 0, 0)
StopDrawing()
SkinWin(WindowID(WindowID), UseImage(CurrentCham))
EndIf
Delay(5)
Until WindowEvent() = #PB_Event_CloseWindowTobi
das klappt hervorragend! du bist für heute mein Held
2D Game H.E.R.A. (Entwicklung eingefroren)
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
www.chamaeleo-fx.de.vu
- mein Lieblingszitat
"die Informationsumwelt wird von einer fürchterlichen Menge an Unsinn und Lügen verschmutzt" (Stanislaw Lem, Lokaltermin, 1954 (!) )
http://www.stanislaw-lem.de/zitate/zitate.shtml
