HSP(Hot Soup Processor) に関する記事
自作モジュール や サンプルスクリプト
mod_layerbutton モジュール
Version 1.3.0.1

 ダウンロード / 📒コマンドヘルプ / readme / HSP3Dish.js稼働サンプル1layerbuttonモジュール デモ  layerbutton状態遷移 デモ  バーチャルパッド用サンプル シューティング  mod_layerbutton-vpad用サンプル FPS  mod_layerbutton-keybd用サンプル  mod_layerbutton-emes用サンプル  (6.1)mod_layerbutton-emes用サンプル(新フォントシステム版[mesが軽い])  STGSample Shooting  RPGSample RPG 

 [🧩HSP3アップデーター対応]

layerobj命令を利用して、ちょっとリッチなアニメーション付きボタンを比較的簡単に作成することができます。





・バーチャルパッド用モジュール(mod_layerbutton-vpad.hsp)を同梱
・スクリーンキーボード用モジュール(mod_layerbutton-keybd.hsp)を同梱
・1文字ずつ文字を表示するオブジェクトを作成する(mod_layerbutton-emes.hsp)を同梱

■ 使い方
layerobj命令を利用しているため、表示ループの中で使用する必要があります。

・下記はスクリプトの一例です。

;#include "hsp3dish.as"  // 使わなくても構いませんがdishの方が透過画像を扱いやすいです。
#include "mod_layerbutton.hsp"

log = ""
// ボタン作成
pos 50, 50
repeat 3
    pos ,ginfo_cy+10
    bt_opt += 100
    layerbutton 180,60, bt_opt, 0, 30,10,5, 15,5,2 {
        if lparam == objlayer_cmddraw {
            font msgothic,14,1 : color 240,240,255 : objcolor 0,0,100  ; 文字色 / 縁取り色
            laybtn_ezbox $AA8888FF, $AA0000FF, $AA8800FF, "ezcelボタン opt:"+objlayer_option,4  ; ezboxでボタン描画
            if layerbtn_stat == LAYBTN_COMPLETE_SELECTED {  ; ボタンを押して表示が消えたとき (_SELECTED=選択されたボタンのみ)
                log += "LAYBTN_COMPLETE_SELECTED" +"\n"
                log += "-> OPT="+objlayer_option+", ObjID="+wparam +"\n"
            }
        }
        return
    }
loop
// 表示ループ
repeat
    redraw 0 : color 255,255,255 : boxf : color : pos 0,0 : font msgothic,17
    mes log
    redraw 1
    await 1000/60
loop


HSPプログラムコンテスト2025 に応募してました。

ezlocal-dish-js モジュール
Version 2.15

 ダウンロード / 📒コマンドヘルプ / readme / HSP3Dish.js稼働サンプル12Dサンプル(+ブラウザにデータ保存)  ブロック崩し(+スコアランキング)  スマホ横向き全画面FIT(β機能)  ゲームパッド接続(PCやスマホでBluetoothも有線も)  システムフォント変更(.ttfファイルなど使用可)  3Dサンプル(HGIMG4)  スネークゲーム(3D+スマホ横向き全画面FIT)  デバイスモーション取得(スマホ向け)  重力砂時計(ひっくり返したり水平にしたり)  10デバッグメッセージ表示(logmes)  11縦持ちスマホ余白なし画面比率(上下可変)  12横持ちスマホ余白なし画面比率(横幅可変)

 [🧩HSP3アップデーター対応]

HSP3Dish.js をローカルで動作させる為の環境を構築、簡単にテストできるようにします。

・ローカル動作確認環境としてnginxを自動インストールすることができます。(レジストリは書き換えません。)
・さらにPHP-FPMも自動インストール。ランキング作成などが簡単になるPHP連携モジュールezphp.phpを同梱しています。



■ その他の機能
・HSP3Dish helper の実行補助 (+出力HTMLの調整)
・nginx(ローカルサーバ)の起動
・テスト用ディレクトリへのファイルコピー
・ローカル実行URLへのリンク表示
・QRコードを利用してスマホからローカル実行URLへ簡単アクセス
・ブラウザへのデータ保存が可能に
・PHP連携モジュールezphp.phpでサーバへのテキスト保存またはSQLiteデータベース記録が簡単に
・ゲームパッド接続モジュールを同梱
・デバイスモーション取得モジュールを同梱
・おすすめモジュール紹介ツールを同梱

■ インストール及びその後の使い方
HSP3Dish.js で HTML化したいスクリプトの「#include "hsp3dish.as"」直下に下記2行を追記してスクリプトを実行してください。

#include "ezlocal-dish-js.hsp"
ezLocalJS

実行すると『ezlocal-dish-js』ウィンドウが開き、nginxインストール前はインストール案内が表示されます。
インストール後は『ezlocal-dish-js』ウィンドウを操作することでHTML変換補助とローカルでの動作確認を行うことができます。

・下記はスクリプトの一例です。
#include "hsp3dish.as"
    
#include "ezlocal-dish-js.hsp"
ezLocalJS

// ezLocalJS 以下に HSP3Dish.js で動作させたいスクリプトを記述
*main
    redraw 0 : pos 0,0
    mes "Hello, World!"
    mes strf("%02d:%02d:%02d"gettime(4), gettime(5), gettime(6))
    redraw 1
    await 16
goto *main


■ nginx が既にインストール済みの場合の競合について
・nginx, PHP-FPM が既に"C:\nginx"にインストールされている場合はそれを使用し「HSP3Dish helperの実行補助」等だけを利用できます。
・nginx のみインストールされている場合は、nginx_2, nginx_3, … と被らないフォルダ名称で新たにインストールを行います。(既存のnginxと共存できます。)


■ 対象HSP3バージョン
・HSP3最新バージョンを推奨 (β版も含むその時の最新版)
・動作可能: HSP3.51 ~
・HSP3.6, HSP3.7β1, HSP3.7β2 : 「ブラウザ上にデータ保存」機能が制限されます。


HSPプログラムコンテスト2024 に応募してました。
-> Km2Net株式会社賞を頂きました。

HSP3 for VSCode インストーラー
Version 2.0

 ダウンロード / GitHub / readme

HSP3をVSCode上で実行できるようにする為のセットアップ処理を一括で行うインストーラー (もどき)

・HSP3を既にインストール済みの方はもちろん、まだHSP3をインストールしたことのない方でも、簡単にVSCodeでHSP3を始めることが出来ます。

■ VSCodeでHSP3開発を超快適にしよう! [2023年] @umuy
コチラで解説されてる大体の内容を自動で行うことができます。

動作紹介 動画

 下記項目のダウンロード&インストール、各種設定を自動で行います。
 HSP3.7 / HSP3.6
 ・hspc (thanks ほのぼのぽー さん)
 ・関連付け [OpenHspInVSCode.exe]
 VSCode
 ・文字化け、インデント、制限モード設定
 ・日本語化拡張
 ・language-hsp3拡張 (thanks ほのぼのぽー さん)
 ・HSP3 アナライザー・ミニ (LSP)拡張 (thanks 令掛ベイン さん)
 ・HSP3 Debug表示設定拡張
 ・ショートカットキー登録
 ・アイコンテーマ設定

<特記事項>
 ・HSP3.7 / HSP3.6 を選択可能。
 ・VSCodeポータブルzip版も使用可能。(裏技対応:方法は同梱のreadme.txtを見てください)

<対応OS>
 Windows 11, 10, (8.1, 8, 7 要PowerShell 5.0)


HSPプログラムコンテスト2023 に応募してました。

Internet Explosion - サンプルスクリプト
Version 1.3

 ダウンロード / メインスクリプト / readme

―――今宵、インターネット 爆 発 !

Internet Explosion
インターネット・エクスプロー ジ ョ ン


 ・Webブラウザです。 インターネットが爆発します。
 ・いわゆる おバカ アプリです。
 ・いきなり大きめの音が鳴ったりするので周囲の環境や耳に注意してお使いください。
 
 ・hiro239415さんのWebView2モジュールを使用させてもらったWebブラウザのサンプルスクリプトです。
 ・GUIコントロールに自作モジュールを使った、一般的でないかなりクセのあるスクリプトのなのであまり参考にならないかもしれません。
 ・WebView2ランタイムがインストールされていない環境ではポータブル版ランタイムを自動でダウンロード/展開する機能が組み込まれています。


HSPプログラムコンテスト2022 に応募してました。

Object Pos Module
Version 2.0

 ダウンロード / GitHub / readme

オブジェクトの位置やサイズを視覚的に変更できて、自動でスクリプトエディタに上書きするモジュール


 ・普通にスクリプトを書いていて「オブジェクトがいくつか出てきたな。位置を視覚的に決めたい」って思ったときに #include "ObjPosMod.hsp"
 ・Ctrlキーを押しながらマウスの左クリックで位置を、右クリックでサイズを変更できるようになります。
 ・リストからオブジェクトを選び「スクリプト変更」ボタンを押すと、エディタ上のスクリプトが自動で書き換えられます。
 
 ・オブジェクトの配置が決まったら、あとは #include "ObjPosMod.hsp" を消してOKです。

【対応OS】
・Windows8以降、HSP3.6以降

#netinclude モジュール
Version 4.2

 ダウンロード / GitHub / オンラインヘルプ / #netinclude環境ダウンローダ付きサンプル

GitHubに置いたモジュールを自動でダウンロードして#includeするモジュール。

誰でもデータベースに自分のモジュールを登録してOKです。
 ・登録の仕方は ヘルプ を参照してください。
 ・登録されているモジュールの確認は コチラ から。

Ver.3.0 ~
・ネットページ上に公開されているモジュールを切り出し指定してファイルとして保存、そのまま利用できるようになりました。

Ver.4.0 ~
・#netuselib追加:モジュールだけでなくdllもネットから取得できるようになりました。
・ネット上のzipを指定して中身のモジュール,dllを選択できるようになりました。


↑同梱サンプルスクリプト内で使用モジュールを#netincludeしている。

#netinclude環境ダウンローダスクリプト (link)
 ・カレントディレクトリに HSPDEF.AS, mod_netinclude.hsp を生成。
  生成後のフォルダで #netinclude が利用できるようになります。
 ・5行程度なので掲示板などにコピペしてもそれほど邪魔にならない・・・かも知れません。

■ サンプルスクリプト(ダウンローダ付)
 ・サンプル1 (link)
 ・サンプル2 (link)
 ・サンプル3 (link)
 ・サンプル4 (link)
 ・サンプルゲーム (link)
 
※ 制限
 ・メインスクリプトファイル内で複数行コメントアウト「/* */」が使えなくなります。(回避する裏技あり。詳細はヘルプ参照。)


HSPプログラムコンテスト2020 に応募してました。

a2d+AlphaLayer/mod_TimerRepeat モジュール
Version 2.6

 ダウンロード / GitHub / 📒コマンドヘルプ

 [🧩HSP3アップデーター対応]

Artlet2Dモジュールの仮想イメージを利用して、アルファチャンネル付き半透明子ウィンドウが使えるようになります。 (a2d+AlphaLayer.hsp)

画像編集ソフトのレイヤー分け表示のように、透明部分は後ろが表示されながら、重ねたレイヤー(画層)をそれぞれ独立に編集・更新をするようなことが出来ます。

下記モジュールを同梱しています。
■ タイマーリピートモジュール(mod_TimerRepeat.hsp)
 ・SetTimer[WM_TIMER]と同じような機能をrepeat-loopに似た記述で簡単に利用できる。
 ・timer_ease命令を組み合せてイージング値を簡便に取得できる。
 ・HSP3Dishでも利用できます。(Ver.2.0~)
※下記2モジュールはmod_TimerRepeat.hsp内に統合されました。(Ver.2.0~)
 □ ユニーク変数モジュール(mod_uniq.hsp)
  ・指定スコープ内でユニークな変数を定義。
 □ on系ジャンプ再waitモジュール(mod_waiton.hsp)
  ・wait中にon系命令でジャンプしたら残り時間を再waitする。

【対応OS】
・a2d+AlphaLayer.hsp…Windows8以降
・他モジュール…制限なし
【注意事項】
Windows 10 May 2020 Update(Ver.20H1)から非表示のウィンドウまたは非表示のレイヤーに alalSetParent ,,1で非表示貼り付けをしても表示されてしまうことを確認しました。
しかも、その状態はalalIsShownをしても非表示状態と認識されて0を返します。
なので、実際には見えているのにalalHideをしても消えません。
消すには一度alalShowを実行して、その後alalHideをしなければいけません。
【推奨開発環境】
HSP3.6β1以降(デバッグ実行ランタイムhsp3.exeの改造が不要になる)


HSPプログラムコンテスト2019 に応募してました。
-> プロ生ちゃん賞を頂きました。

※ HSP3アップデーターについて

[🧩HSP3アップデーター対応] と書かれているものは、HSP3アップデーターからインストールが可能です。

HSP3アップデーターの起動方法: HSPスクリプトエディタ>ツール>HSP3機能のアップデート

外部ユーザーURL: https://suwa.pupu.jp/HSP/package/u115_index.hspupd

手動でユーザーデータ(外部ユーザーURL)を登録する必要があります。
HSP3アップデーター>設定>追加パッケージURL の欄に上記のURLをコピペして『追加』ボタンで登録してください。

※ HSP3.7からユーザーのパッケージ情報も公式で扱ってもらえるようになるそうです。