2023/11/01(水) [n年前の日記]
#1 [hsp] hsp3dishの勉強を再開
hsp3dish について、改めて勉強を再開。環境は Windows10 x64 22H2 + HSP 3.7beta7。
hsp3dish を使ってスクリーンセーバが作れそうか実験してみたいと思っているのだけど。その前に、多少は見た目がソレっぽい処理を書いておいて、ソレをスクリーンセーバとして移植できるか試したほうがいいのかなと思えてきた。
処理内容としては、フルスクリーン表示にして、画面の奥から手前にたくさんの星を飛ばす、例のアレ。昔のWindowsには星を飛ばすスクリーンセーバが標準で入っていた気がするけれど、要はアレを再現するプログラム。
余談。今頃になって気づいたけれど、Windows10には、あの星を飛ばすスクリーンセーバが入っていないような気がする…。一体どの時点で無くなったんだろう…? もう入手できないのだろうか?
hsp3dish を使ってスクリーンセーバが作れそうか実験してみたいと思っているのだけど。その前に、多少は見た目がソレっぽい処理を書いておいて、ソレをスクリーンセーバとして移植できるか試したほうがいいのかなと思えてきた。
処理内容としては、フルスクリーン表示にして、画面の奥から手前にたくさんの星を飛ばす、例のアレ。昔のWindowsには星を飛ばすスクリーンセーバが標準で入っていた気がするけれど、要はアレを再現するプログラム。
余談。今頃になって気づいたけれど、Windows10には、あの星を飛ばすスクリーンセーバが入っていないような気がする…。一体どの時点で無くなったんだろう…? もう入手できないのだろうか?
◎ ソース :
_fullscreen_zoom.hsp
使用画像は以下。どちらか片方でいい。好きなほうをどうぞ。
_star.png
_star2.png
動作させたら以下のような感じになった。縮小したので見辛いけれど、「ああ。アレね」と思ってもらえるかなと…。
; hsp3dish + fullscreen test. move stars.
;
; Windows10 x64 22H2 + HSP 3.7beta7
; 2023/11/01 by mieki256
; Licence : CC0 / Public Domain
#include "hsp3dish.as"
#include "d3m.hsp"
#packopt name "fullscreen_zoom"
#packopt type 0
#define TEX_FILE "star.png"
; #define TEX_FILE "star2.png"
#pack TEX_FILE
#define KB_ESC $000080
#define FRAMERATE 60
fps_display_enable = 1
; get desktop size
dispw = ginfo_dispx
disph = ginfo_dispy
; initialize window without frame
; bgscr WindowID, width, height, mode, x, y
bgscr 0, dispw, disph, 0, 0, 0
; load image
imgid = 3
celload TEX_FILE, imgid
; split image. set orign
celdiv imgid, 512, 512, 256, 256
; Set the buffer to draw from. Windows ID 0
gsel 0, 1
; Set screen clear color to be performed when redraw 0 is called.
; 0 or 1, color ($000000 - $ffffff)
; setcls CLSMODE_SOLID, $4080c0
setcls CLSMODE_SOLID, $000000
font "Tahoma", 24, 1
randomize
star_size = 0.75
dist = 150.0 ; screen distabce
area_z = 5000
zmax = double(area_z) + dist
; rnd() only accepts 1 to 32768.
; adjust the value to stay within that range.
area_m = 4.0
area_w = int((double(dispw) * zmax) / dist / area_m)
area_h = int((double(disph) * zmax) / dist / area_m)
objmax = 512
; initialize stars work
ddim posx, objmax ; position x
ddim posy, objmax ; position y
ddim posz, objmax ; position z
dim px, objmax ; display position x
dim py, objmax ; display position y
ddim scalev, objmax ; scale
dim alpha, obj_max ; alpha value
repeat objmax
gosub *get_newpos_xy
posx(cnt) = nx
posy(cnt) = ny
posz(cnt) = double(rnd(area_z)) + dist
px(cnt) = 0
py(cnt) = 0
scale(cnt) = 0.0
alpha(cnt) = 0
loop
time_start = d3timer()
endfg = 0
; ----------------------------------------
*mainloop
while endfg == 0
tm = d3timer() - time_start
fps = d3getfps() ; get FPS
; ESC key to exit
stick key, 0
if key & KB_ESC : endfg = 1
; move stars
spd = 40.0
repeat objmax
posz(cnt) -= spd
if posz(cnt) < (dist / 2.0) {
posz(cnt) += zmax
gosub *get_newpos_xy
posx(cnt) = nx
posy(cnt) = ny
}
; get display x, y position
px(cnt) = int(posx(cnt) * dist / posz(cnt)) + (dispw / 2)
py(cnt) = int(posy(cnt) * dist / posz(cnt)) + (disph / 2)
scalev(cnt) = star_size * dist / posz(cnt)
size = int(512.0 * scalev(cnt))
x0 = px(cnt) - (size / 2)
y0 = py(cnt) - (size / 2)
x1 = px(cnt) + (size / 2)
y1 = py(cnt) + (size / 2)
if x1 < 0 or x0 > dispw or y1 < 0 or y0 > disph {
; out of display area. position reset
posz(cnt) += zmax
gosub *get_newpos_xy
posx(cnt) = nx
posy(cnt) = ny
px(cnt) = int(posx(cnt) * dist / posz(cnt)) + (dispw / 2)
py(cnt) = int(posy(cnt) * dist / posz(cnt)) + (disph / 2)
scalev(cnt) = star_size * dist / posz(cnt)
}
; get alpha value
az = double(area_z) * 0.7
if posz(cnt) < az {
alpha(cnt) = 255
} else {
; fade in
z = posz(cnt)
if z > zmax : z = zmax
v0 = z - az
v1 = zmax - az
alpha(cnt) = int(255.0 - (255.0 * v0 / v1))
}
loop
; ----------------------------------------
; draw start
redraw 0
; clear screen
; color 64, 128, 192
; boxf
; draw stars
repeat objmax
rot = 0.0
idx = 0
; draw image by celput
gmode gmode_add, 512, 512, alpha(cnt)
pos px(cnt), py(cnt)
rot = 0.0
idx = 0
celput imgid, idx, scalev(cnt), scalev(cnt), rot
loop
; draw text
if fps_display_enable {
gmode gmode_rgb0
color 255, 255, 255
pos 10, 10
mes strf("[%dx%d] %d/%dFPS", dispw, disph, fps, FRAMERATE)
}
; draw end. screen refersh
redraw 1
await (1000 / FRAMERATE)
; await 12
wend
*jobend:
end
*get_newpos_xy
nx = double(rnd(area_w) - (area_w / 2)) * area_m
ny = double(rnd(area_h) - (area_h / 2)) * area_m
return
使用画像は以下。どちらか片方でいい。好きなほうをどうぞ。
_star.png
_star2.png
動作させたら以下のような感じになった。縮小したので見辛いけれど、「ああ。アレね」と思ってもらえるかなと…。
◎ 余談。星を飛ばすスクリーンセーバ :
星を飛ばす、例のスクリーンセーバはもう入手できないのだろうか?
ググってみたら、以下のページでそれらしいものを見かけた。Windows95という文字列が見えるから、Windows95の頃には存在していたスクリーンセーバということかな…。
_ssstars : mike : Free Download, Borrow, and Streaming : Internet Archive
_Starfield Screensaver for Windows - Screensavers Planet
_windows 95 "starfield" screensaver : r/Windows10
以下のやり取りでスクリーンセーバ名が分かった。「宇宙飛行」という名前だったらしい。ファイル名は ssstars.scr。冒頭の「ss」は、ScreenSaverの省略形だろう。さておき、この「宇宙飛行」、Windows XP の頃までは入っていた模様。
_WindowsXpの元々入っているスクリーンセーバーについてお願いしま| OKWAVE
以下のページによると、Windows98 - XP時代のスクリーンセーバはビンテージ云々と書いてある。ということは、その後の Windows で ―― Windows Vista の段階でごっそりと削除されてしまったということかな。
_Windows 11 でクラシック スクリーン セーバーを使用する方法 | 最高の家
_Windows XP And 98 Screensavers ( 1) : Free Download, Borrow, and Streaming : Internet Archive
思い返してみれば、Windows Vista の頃は液晶ディスプレイが主流になっていた気もしてきた。CRTの焼き付き防止を期待してスクリーンセーバを動かす必要も無くなっていったのが大体その時期だったのかもしれない。
ググってみたら、以下のページでそれらしいものを見かけた。Windows95という文字列が見えるから、Windows95の頃には存在していたスクリーンセーバということかな…。
_ssstars : mike : Free Download, Borrow, and Streaming : Internet Archive
_Starfield Screensaver for Windows - Screensavers Planet
_windows 95 "starfield" screensaver : r/Windows10
以下のやり取りでスクリーンセーバ名が分かった。「宇宙飛行」という名前だったらしい。ファイル名は ssstars.scr。冒頭の「ss」は、ScreenSaverの省略形だろう。さておき、この「宇宙飛行」、Windows XP の頃までは入っていた模様。
_WindowsXpの元々入っているスクリーンセーバーについてお願いしま| OKWAVE
以下のページによると、Windows98 - XP時代のスクリーンセーバはビンテージ云々と書いてある。ということは、その後の Windows で ―― Windows Vista の段階でごっそりと削除されてしまったということかな。
_Windows 11 でクラシック スクリーン セーバーを使用する方法 | 最高の家
_Windows XP And 98 Screensavers ( 1) : Free Download, Borrow, and Streaming : Internet Archive
思い返してみれば、Windows Vista の頃は液晶ディスプレイが主流になっていた気もしてきた。CRTの焼き付き防止を期待してスクリーンセーバを動かす必要も無くなっていったのが大体その時期だったのかもしれない。
[ ツッコむ ]
#2 [anime][neta] 魔女キャラのコラボ回ってどうだろう
妄想メモ。
「ひろがるスカイ!プリキュア」を見ていたら、ハロウィンネタでメインキャラ達が魔女の扮装をする展開が出てきたのだけど。その光景を見ていて、「魔女云々の回を作れるなら、いっそ、おジャ魔女どれみのキャラがゲスト出演するのはどうだろうか」と妄想してしまった。そういうのって難しいのかな。どちらも権利は東映アニメーションが持っているのだろうから、そのあたりは問題無さそうだけど…。
そういえば、そもそも魔女設定のプリキュアが居たような…?
_魔法つかいプリキュア! - Wikipedia
あのプリキュアがゲストで出てきてもいいよな…。ハロウィン回では必ずカメオ出演(?)するとかそんな感じでも十分楽しいかも。「ウォーリーをさがせ」ならぬ…なんだろな。なんかそんな感じで。
東映アニメーションと言えば、かつては東映魔女っ子シリーズを繰り出していたっけ。例えば、プリキュアに「魔女っ子メグちゃん」が出てくるのもアリだったりしないか…。
_東映魔女っ子シリーズ - Wikipedia
もっとも、「魔法使いサリー」は横山光輝先生が原作だし、「キューティーハニー」は永井豪先生が原作だろうから、登場させるのは難しそう。いや、一覧を眺めてみると、東映魔女っ子シリーズの大半は原作者が別に居たのだな。「メグちゃん」も原作は東映じゃなかった…。となるとゲスト出演は難しそう。
プリキュアに、あのあたりの作品のキャラが出てきたらちょっと面白そうと思ったけれど、権利的に難しいのではなあ…。なんだか残念。
只の妄想メモでした。オチは無いです。
「ひろがるスカイ!プリキュア」を見ていたら、ハロウィンネタでメインキャラ達が魔女の扮装をする展開が出てきたのだけど。その光景を見ていて、「魔女云々の回を作れるなら、いっそ、おジャ魔女どれみのキャラがゲスト出演するのはどうだろうか」と妄想してしまった。そういうのって難しいのかな。どちらも権利は東映アニメーションが持っているのだろうから、そのあたりは問題無さそうだけど…。
そういえば、そもそも魔女設定のプリキュアが居たような…?
_魔法つかいプリキュア! - Wikipedia
あのプリキュアがゲストで出てきてもいいよな…。ハロウィン回では必ずカメオ出演(?)するとかそんな感じでも十分楽しいかも。「ウォーリーをさがせ」ならぬ…なんだろな。なんかそんな感じで。
東映アニメーションと言えば、かつては東映魔女っ子シリーズを繰り出していたっけ。例えば、プリキュアに「魔女っ子メグちゃん」が出てくるのもアリだったりしないか…。
_東映魔女っ子シリーズ - Wikipedia
もっとも、「魔法使いサリー」は横山光輝先生が原作だし、「キューティーハニー」は永井豪先生が原作だろうから、登場させるのは難しそう。いや、一覧を眺めてみると、東映魔女っ子シリーズの大半は原作者が別に居たのだな。「メグちゃん」も原作は東映じゃなかった…。となるとゲスト出演は難しそう。
プリキュアに、あのあたりの作品のキャラが出てきたらちょっと面白そうと思ったけれど、権利的に難しいのではなあ…。なんだか残念。
只の妄想メモでした。オチは無いです。
◎ 「ひろみプロ」って何だろう :
「メグちゃん」の原作は「ひろみプロ」となってるけれど、どういう会社だったのだろう…?
_ミラクル少女リミットちゃん - Wikipedia
なるほど。企画集団だったのか…。「パトレイバー」の「ヘッドギア」みたいな感じなのかな。
東映動画のアニメーターさん達が虫プロに移籍したり、手塚先生の元アシスタントさん達が東映に企画を持ち込んだり、そのあたりの流れが興味深い気もする。昔から色んな人材があちこちを行き来してアニメを作ってたんだなと…。
それにしても、「ひろみプロ」についてググっても情報が全く出てこない。Googleの検索精度が悪化してるのだろうか。それとも情報を誰もアップしてないぐらいに謎の集団なのだろうか…。設立の経緯、活動実績、最終的にどうなったのか等々、気になる…。関わっていた作品群の権利はどうなってるんだろう。今となっては権利面の問題でリメイク不可能だったりするんだろうか。まあ、当時見ていた人は、もうお爺さんお婆さんだろうし。今の時代にリメイクしてもアレかな…。
_ミラクル少女リミットちゃん - Wikipedia
本作は、手塚プロアシスタント経験者らで構成された企画集団「ひろみプロ」が企画した「少女版SF変身物作品」を具体化したものである。
なるほど。企画集団だったのか…。「パトレイバー」の「ヘッドギア」みたいな感じなのかな。
東映動画のアニメーターさん達が虫プロに移籍したり、手塚先生の元アシスタントさん達が東映に企画を持ち込んだり、そのあたりの流れが興味深い気もする。昔から色んな人材があちこちを行き来してアニメを作ってたんだなと…。
それにしても、「ひろみプロ」についてググっても情報が全く出てこない。Googleの検索精度が悪化してるのだろうか。それとも情報を誰もアップしてないぐらいに謎の集団なのだろうか…。設立の経緯、活動実績、最終的にどうなったのか等々、気になる…。関わっていた作品群の権利はどうなってるんだろう。今となっては権利面の問題でリメイク不可能だったりするんだろうか。まあ、当時見ていた人は、もうお爺さんお婆さんだろうし。今の時代にリメイクしてもアレかな…。
[ ツッコむ ]
以上、1 日分です。