mieki256's diary



2023/10/23(月) [n年前の日記]

#1 [hsp] HSPのnoteselについて勉強中

今まで書いてたテストサンプルをそろそろスクリーンセーバにしたい。そのためには、設定値をiniファイルから読んだり、設定画面で変更した値をiniファイルに保存しないといけない。そこで、HSP3.6を使ってiniファイルを ―― テキストファイルの類を読み書きする方法について調べているところ。

HSP 3.6 でテキストファイルの読み書きをするなら、notesel, noteadd, notesave, noteload を使うのが一般的らしいのだけど。

_OHDL - notesel
_OHDL - noteadd
_OHDL - notesave
_OHDL - noteload
_HSP3.0-メモリノートパッド命令
_note〜命令 (テキストファイルを扱うメモリノートパッド) - Let's HSP!
_noteselの初期化について - HSPTV!掲示板

notesel に指定する変数の種類がよく分からなくて…。文字列変数でいいのかなと指定してみたらエラーが出たので、文字列配列にしたら上手く行ったのだけど、しかし巷の解説記事を眺めたらやはり文字列変数でOKらしくて、おかしいな、変だなと…。

どうやら noteadd を呼ぶあたりで何か間違った記述をしていただけらしい。最低限の処理だけ別ソースで書いて動作確認してみたら、notesel に指定する変数は文字列変数で問題無かった。

2023/10/24追記 :

せっかくだから、notesel, noteload, notesave を使った動作確認用のサンプルも置いておく。.ini ファイルを noteload で読み込んで、変数の値を取得して、また .ini に notesave で書き戻す処理をしている。

_notesel_test.hsp
; notesel, noteload, notesave のテスト
; .ini を読んで、値を少し変えて、また .ini に書き戻してみる

; #uselib "kernel32"
; #func GetModuleFileName "GetModuleFileNameA" int, int, int

#define INI_FILE    "notesel_test.ini"
#packopt name       "notesel_test"  ; exe filename
#packopt type       0               ; generate ".exe"

; ----------------------------------------
; load ini file

ini_filepath = INI_FILE
mes "Load " + ini_filepath + "\n"

buf = ""
notesel buf

exist ini_filepath      ; ファイル存在チェック
if strsize = -1 {
    ; not found ini file
    dialog "Not found " + ini_filepath, 0
    end
} else {
    ; iniファイルを読み込む
    noteload ini_filepath
    mes buf

    ; 1行ずつ内容を解析して記録
    sdim ld, 512
    repeat notemax
        noteget ld, cnt     ; 1行分を取得
        
        if instr(ld, 0, "test1=") >= 0 {
            split ld, "=", kind, cmd
            test1 = int(cmd)
        }
        if instr(ld, 0, "test2=") >= 0 {
            split ld, "=", kind, cmd
            test2 = int(cmd)
        }
    loop
}

noteunsel

mes "test1=" + test1
mes "test2=" + test2

; ----------------------------------------
; change value

wait 100

test1 += 1
test2 += 1

mes "\nAdd +1"
mes "test1=" + test1
mes "test2=" + test2

wait 100

; ----------------------------------------
; save ini file

buf = ""
notesel buf
noteadd "test1=" + test1
noteadd "test2=" + test2
notesave ini_filepath

dialog "Save " + ini_filepath, 0
mes "\nSave " + ini_filepath

wait 200
end

_notesel_test.ini
test1=17
test2=25

#2 [movie] 「ゴジラvsデストロイア」を視聴

昨日視聴したことをメモするのを忘れてたのでメモ。BS12で放送されていたものを視聴。初見。1995年の映画で、平成ガメラ2作目と同じ年の作品らしい。

なんというか、着ぐるみとミニチュア(=スタジオ内撮影)の限界を見てしまった気がした。あのデザインは…無いわ…。ゴジラにエリマキ、じゃなくて翼くっつけてイガイガトゲトゲ増やしただけじゃん、みたいな印象。着ぐるみで動かすことが前提となるとああいうシルエットにするしかないのだろうかと邪推してしまったりして。ラドンの翼の大きさ、モスラの羽の大きさを考えたら、あのデザインで空を飛ぶのはちょっとなあ…。まあ、過去にはゴジラが空を飛んでるから今更そんなの気にしても状態だったのかもしれんけど。

「メカゴジラの逆襲」の次に「ビオランテ」を見た時は、特撮のレベルが上がってるなと思ってしまったけれど、「デストロイア」を見て、アレ? また下がった? と思ってしまった…。日本の特撮って、実は作り方が大体ずっと同じで、大して進歩してなかったのだろうか…。一気に変わるのはCG導入が進んでからなのかな…。

CGと言えば、「ビオランテ」と違って、ビットマップと言うかラスタースキャンで表現したCGカットがたくさん出てきて、そこは着実に進歩してたんだなと。ググってみたら、この映画の3年後の1998年に、ハリウッド版ゴジラ(GODZILLA)が公開されていたらしい。たった3年でそこまで行くか…。

Wikipediaを眺めてたら、赤く光るゴジラを実現するために860個も電球を使ったと書いてあって驚愕。各種ギミックのせいで中の人が4回も酸欠で卒倒したとか…。無茶をする…。

_ゴジラvsデストロイア - Wikipedia
_デストロイア - Wikipedia

特技監督の川北監督は、当初デストロイア相当をCGか操演で動かすことを望んでいたけど着ぐるみにすることを命令されて、という話も気になった。やはり着ぐるみでは限界があると現場の監督さん自身も熟知してたのだろうな…。部分的にCGを使ってるカットもあると書いてあるし、色々と変わり始めていた時期だったのだろうか。

以上、1 日分です。

過去ログ表示

Prev - 2023/10 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project