Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Śnieg Padający Po "Pulpici


xenex

Rekomendowane odpowiedzi

Opublikowano

Hej kolega mnie zainspirował pomysłem na hacka, może się to wydać dziecinne i głupie ale wymyśliliśmy że wszędzie będzie padać śnieg po ekranie - nie ważne czy to w grze czy na pulpicie, co ok. 3 min na dole ekranu będzie jeździł mikołaj itd...

Tylko pytanie - jak moge zrobić funkcję żeby padał śnieg i był zawsze na wierzchu?

Oddajcie minusy! :(

Opublikowano

gui forma bez niczego i guigraphic :D

albo użycie dll

coś tego typu

 

;Animate Display *nice* addition

; Author Raindancer

 

$hwnd = GUICreate("Animate Window", 300, 300)

 

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00080000);fade-in

GUISetState()

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00090000);fade-out

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040001);slide in from left

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050002);slide out to left

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040002);slide in from right

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050001);slide out to right

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040004);slide-in from top

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050008);slide-out to top

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040008);slide-in from bottom

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050004);slide-out to bottom

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040005);diag slide-in from Top-left

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x0005000a);diag slide-out to Top-left

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040006);diag slide-in from Top-Right

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050009);diag slide-out to Top-Right

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040009);diag slide-in from Bottom-left

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050006);diag slide-out to Bottom-left

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x0004000a);diag slide-in from Bottom-right

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050005);diag slide-out to Bottom-right

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00040010);explode

DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hwnd, "int", 1000, "long", 0x00050010);implode

 

#define AW_HOR_POSITIVE 0x00000001

#define AW_HOR_NEGATIVE 0x00000002

#define AW_VER_POSITIVE 0x00000004

#define AW_VER_NEGATIVE 0x00000008

#define AW_CENTER 0x00000010

#define AW_HIDE 0x00010000

#define AW_ACTIVATE 0x00020000

#define AW_SLIDE 0x00040000

#define AW_BLEND 0x00080000

Opublikowano

+labele rozsypane na pulpicie tworzace snieg:P

 

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)

$Form1 = GUICreate("Form1", 625, 445, 192, 124)
$Label = GUICtrlCreateLabel("Label1", 72, 24, 36, 17)



GUISetState(@SW_SHOW)
$x = 0
While 1
Sleep(500)
$x = $x + 15
If $x > 500 Then $x = 0
GUICtrlSetPos($Label, 48, $x + 0, 36, 17)

WEnd

 

 

 

 

 

ps.ala" mikolaja"(przerob na czerwonego) masz w helpie pod guictrlcreatepic uzyj przykladu:Palbo google

Do
$wiek+=1
Until ŻycieGetMsg() = -3

zbieram +

Opublikowano

kurcze, tylko "form" miał być przezroczysty i zawsze na wierzchu ;/

Planowałem to zrobic na niemalże identyczny sposób jak UP tylko że on wykorzystuje form a ja bez tego chciałem...

co do kwestii UPa nic mi to nie dało bo sam potrafiłem to zrobić wcześniej ale i tak dzięki , + poleciał ;p

Oddajcie minusy! :(

Opublikowano

Można ustawić, że GUI jest stale na wierzchu ;)

Do tego puste labele o kolorze tla bialym, które ruszają się jakoś fajnie w dół i git ;)

Tylko GUI nie będzie przezroczyste :P

A chyba nie o to Ci chodziło :P

Opublikowano

jest funkcja na cieniowanie gui tylko nie moge sobie przypomniec jaka

a co do tego by gui było na wierzchu

$Form1 = GUICreate("Ogame Tool by jackraymund", 232, 293, 192, 124,-1, BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))

Opublikowano

@jack~

 

 

winsetTrans? jesli to to co cale gui robie przezroczyste:D

Do
$wiek+=1
Until ŻycieGetMsg() = -3

zbieram +

Opublikowano

Ale jeśli dasz na GUI jakąś animację albo obrazek to to też będzie transparentne.

Więc nie uzyskasz żądanego efektu :P

Opublikowano

Czyli mówicie nici? :/

 

Szkoda że nie ma funkcji która by pokazała samo zdjęcie bez form`a ;(

Oddajcie minusy! :(

Opublikowano

Gamonie... tego nie ma w oficjalnej dokumentacji ale WinSetTrans() ma podwójne zastosowanie,

przynajmniej w starszych wersjach windowsa.

Standardowo robi gui przezroczyste ale...

jesli na gui umieścimy obrazek za pomocą GUICtrlCreatePic() to

funckcja WinSetTrans() odnosi sie tylko do niego

kolor przezroczystości to wtedy "czysty czarny" czyli 0x000000

zaś sama wartość "transparency" jest w tym wypadku nieistotna

 

 

Przykładowy kod i obrazek w załączniku

#include <WindowsConstants.au3>
$gui = GUICreate("", 810, 636, -1, -1, $WS_POPUP)
WinSetTrans($gui, '', 200)
WinSetOnTop($gui, '', 1)
$hImage = GUICtrlCreatePic("chuckprezyden.bmp", 0, 0, 810, 636)
GUISetState(@SW_SHOW)

While 1
Sleep(1000)
WEnd

 

ps:

A ta magiczna "inna" funkcja o której ktoś wyzej wspominał to jak mnieman _WinAPI_SetLayeredWindowAttributes() (?)

chuckprezyden.bmp

Opublikowano

ale ja mam dla ciebie super rozwiozanie:)

 

 

przyklad z helpa:D !!!

guictrlcreatepic...

masz tam magika ktorym sterujesz za pomoca strzalek wystarczy ze zrobisz male gui gdziesz kolo paska i dorobisz funkcjie zeby mikolaj latal na dole i inne grafiki lecialy jako snieg:P

powinno wyjsc:P na przykladzie z helpa dziala mikolaj wybiega mi za gui:)

Do
$wiek+=1
Until ŻycieGetMsg() = -3

zbieram +

Opublikowano

$obraz = "D:\obrazek.jpg"
$i = "100"

While 1
SplashImageOn("", $obraz, 70, 110, $i, $i, 1)
$i = $i + 1
Sleep(55)
If $i = 200 Then
Exit
EndIf
WEnd

 

proste wykorzystanie SplashImageOn tez sie nada i nie potrzeba kombinowac z gui, tu akurat obraz porusza sie po przekątnej

 

dodanie obrazków z płatkami śniegu ( poruszające sie pionowo w dół ) i mikołaja ( poruszający sie w poziomie ) odpowiednie opracowanie skryptu i gotowe

dodanie @DesktopHeight i @DesktopWidth rozwiązuje problem rozmiaru i zakresu poruszania sie obtazka po pulpicie

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

dziób tukana - jesteś genialny :)

 

Temat można zamknąć poradziłem już sobie ;) teraz każdą śnieżkę po kolei :) THx za pomoc odwdzięczyłem się + ;p

 

@robem - robiłem podobnym sposobem ale w formie ;p

tylko że twój sposób strasznie mruga co do szału xD

 

@EDIT

 

Mam jescze 1 pytanko xD jak wrzucić lub schować pliki bmp/mp3 w hacku aby ich nikt nie znalazł?

 

@2 EDIT

 

da się przesunąć

 

$gui = GUICreate("", 50, 50, -1, -1, $WS_POPUP)

by szło tam gdzie płatek śniegu? inaczej

a.) nie widać płatka bo nie jest na "gui"

b.) jest szare tło

 

P.S.

 

	GUICtrlSetPos($gui, $x, $y, 50, 50)

nie działa :(

Oddajcie minusy! :(

Opublikowano

Do "wkładania" obrazków do programów w au3 jest potrzebny bodajże dodatek resources.au3 ;)

Jest w gotowych skryptach jak ruszać GUI, zmieniać jego rozmiar itp. ;)

Opublikowano

@up3 guictrlsetpos($gui,$x,$y) :) bez 50

 

przecież mówie że nie pójdzie - znam się i próbowałem all ;/

Oddajcie minusy! :(

Opublikowano

Funkcja guictrlsetpos służy do przesuwania elementów GUI(przyciski, labele, inputy itd.), a nie samego okienka :)

Masz link do tematu, wystarczyło poszukać :P

http://www.mpcforum.pl/topic/155945-wykrywanie-aktywnosci-rozmiaru-przenoszenie-okienka-gry/

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...