さて、いよいよ今回から HSP Dishを始めていく。
今回からいきなり中級者向けになると思う。
ちなみに本ブログでは、上級者向けはたぶん書かれる事はない(笑)
今 2016年の5月の9日で、開始したのが 2016年の1月1日だから、4ヶ月たってる。
現時点で一作目のカードゲーム「Cargina Cardia(カルギナ カーディア)」は8割型できてる。
1/10~3/10くらいで2ヶ月くらいで作ってる。
その後はレンタルサーバーやワードプレスの準備、本ブログの執筆で時間が経っている。
本当は時系列的に本来のブログの趣旨通り、日記のような感じで苦闘編を書いて行きたかったが、後からの企画なので、追いつくまでは回顧録になる。
じゃあ、まずは HSP Dishの説明から。
HSP Dishは HSP(ホットスーププロセッサ)というプログラム言語の拡張機能として、PC、webGL(ネットブラウザ)、android(アンドロイド、スマートフォン)、ios(iPhone、アイフォン、スマートフォン)上で動作するソフトを作れる拡張機能だ。
通常のプログラムの先頭に「#include “hsp3dish.as”」と書くだけで使える。
ところでコレ、読み方はディッシュでいいのかな?どこでも書かれてないんだけど(笑)
教科書としては
があるけど、余程マイナーらしくてどこの書店にも置いてないし、amazonも中古だけみたい(笑)
やっぱり HSP Dish自体がマイナーなのかもしれませんねえ(笑)
自分もコレ、中古で買ったけど、そういえば全然見てない。
HSPと HSP Dishの違いと言っても、表示が少し違うくらいだし、そんなに新しく参照する情報も無い感じで、ほとんどネット見ながらやってた。
それじゃあ、まず HSPと HSP Dishの違いから
画像表示の仕方が違う。
picload→celload 使い方は同じ。
gcopy、gzoom→celput 全部 celputで表示する感じかな。
celdivで buffer画面を縦横で区切ったのを、celputで No.指定して表示する。
ここでは詳しく書かないけど、難しくはないので大丈夫。
celputで表示倍率も回転率も指定できるので、これ一つで済み、簡単と言えば簡単なのかな。
メインスクリーンが 0しかない。
buffer画面での画像加工ができない。
redrawの使い方が少し違う。
アルファチャンネルが使える。
よく分からないけど png画像の透明(透過)処理が有効になるみたい。
音関連
dmmload→mmload
何か少し扱える形式が違うみたい。
互換性を考えても、自分は今の所 mp3と wavしか使ってない。
ボリュームが、HSP(dmmvol)だと-10000~0だったのに対して、HSPdish(mmvol)は-1000~0のリニアな(と書いてある)変化。
リニアなって何の事か分からないし、何に対してなのか分からないけど、たぶん直比例な感じじゃないかと。
後プラットフォーム(何で動かすか)によって、DLLが使えないとか、#defcfancや#moduleの挙動に問題があったりと色々あるようだ。
細かい所はマニュアル(HSP3Dishマニュアル)を見てもらう事にして、後は問題があるたびに本ブログ上で見て行きたいと思う。
それから何かのバグか、Javaの変数設定の問題なのか、androidでは2次元配列以上の配列変数は、数だか容量だか多くなると使えなくなる。
少ない分には問題ないみたいで、原因はよく分からない。
厳密に言うと読み込みはできるが「書き込みができない」。
あらかじめ定義しておいた2次元配列 dataを読み込んで使ったりはできる。
実行上で2次元配列に書き込もうとするとエラーになる。
これはPC上での起動や、webGL版では無い。
その内治してくれるかもしれないが、これは結構面倒くさい。
以上であり、基本的な HSPの挙動は同じで、それほど違いは無い。