ウィンドウの上に乗れるように.
このコミットが含まれているのは:
@@ -7,8 +7,8 @@
|
||||
|
||||
#const NIZIKA_WIDTH 300
|
||||
#const NIZIKA_HEIGHT 300
|
||||
#const NIZIKA_BASE 240
|
||||
#const NIZIKA_LEFT 60
|
||||
#const NIZIKA_BASE 236
|
||||
#const NIZIKA_LEFT 100
|
||||
#const NIZIKA_RIGHT 250
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong (hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED
|
||||
SetLayeredWindowAttributes hWnd, RGBCOLOUR_LIME, False, True
|
||||
|
||||
HWND_DESKTOP = GetDesktopWindow () ; デスクトップ取得
|
||||
|
||||
Color COLOUR_LIME
|
||||
BoxF
|
||||
|
||||
@@ -34,8 +36,38 @@
|
||||
|
||||
moving = False
|
||||
falling = True
|
||||
base = gInfo_dispY
|
||||
|
||||
Repeat
|
||||
Dim hWindows, 1
|
||||
Dim windowRects, 4, 1
|
||||
|
||||
hWindows.0 = GetTopWindow (HWND_DESKTOP)
|
||||
hWindowBefore = hWindows.0
|
||||
GetWindowRect hWindows.0, VarPtr (windowRects.0.0)
|
||||
|
||||
windowCnt = 1
|
||||
|
||||
Repeat
|
||||
hWindow = GetWindow (hWindowBefore, GW_HWNDNEXT)
|
||||
|
||||
If hWindow = 0 {
|
||||
Break
|
||||
}
|
||||
|
||||
buf = ""
|
||||
GetWindowText hWindow, VarPtr (buf), 256
|
||||
|
||||
If (IsWindowVisible (hWindow) != False) And (StrLen (buf) != 0) {
|
||||
hWindows.windowCnt = hWindow
|
||||
GetWindowRect hWindow, VarPtr (windowRects.0.windowCnt)
|
||||
|
||||
windowCnt++
|
||||
}
|
||||
|
||||
hWindowBefore = hWindow
|
||||
Loop
|
||||
|
||||
If GetKey2 (KEY_MOUSE_L) {
|
||||
If moving {
|
||||
nizikaX = LimitF (mouseX - offsetX, -NIZIKA_LEFT, gInfo_dispX - NIZIKA_RIGHT)
|
||||
@@ -55,12 +87,22 @@
|
||||
fallVel = 0.
|
||||
}
|
||||
Else: If falling {
|
||||
nizikaY = LimitF (nizikaY + fallVel, Null, gInfo_dispY - NIZIKA_BASE)
|
||||
nizikaY = LimitF (nizikaY + fallVel, Null, base - NIZIKA_BASE)
|
||||
fallVel += 9.8
|
||||
|
||||
If nizikaY >= gInfo_dispY - NIZIKA_BASE {
|
||||
falling = False
|
||||
If nizikaY >= base - NIZIKA_BASE {
|
||||
fallVel = 0.
|
||||
}
|
||||
|
||||
base = gInfo_dispY
|
||||
|
||||
Repeat windowCnt
|
||||
If (windowRects.0.cnt <= nizikaX + (NIZIKA_WIDTH - NIZIKA_LEFT)) And (nizikaX + NIZIKA_LEFT < windowRects.2.cnt) {
|
||||
If (nizikaY + NIZIKA_BASE <= windowRects.1.cnt) And (windowRects.1.cnt < base) {
|
||||
base = windowRects.1.cnt
|
||||
}
|
||||
}
|
||||
Loop
|
||||
}
|
||||
|
||||
ReDraw False
|
||||
|
||||
新しい課題から参照
ユーザをブロックする