3.画面表示サイズを設定

Android実機にて表示サイズまたはスケーリング(自動拡大縮小)を設定します。

「test_action」プロジェクトフォルダ内の「jni」フォルダにある "main.c" をメモ帳等(テキストをUTF-8で保存可能なエディター)で開きます。


"main.c" の途中の行に下記の3行があります。

//hgio_view( 480, 320 );
//hgio_scale( 1.0f, 1.0f );
//hgio_autoscale( 0 );
  行頭が「//」になっている項目は、コメントアウトされ機能しません。 初期設定では、スケーリングの設定は行なっていませんので、上のようになっているはずです。

hgio_view( 480, 320 );
  まず、「//」を消去して、hgio_viewの行を有効にします。hgio_viewにより、もともとの画面サイズ(スクリプトが動作する解像度)を設定してください。上の例では、横サイズが480、縦サイズが320であることを示しています。 

hgio_scale( 2.0f, 2.0f );
  指定した倍率で表示を行ないたい場合は、hgio_scaleの行を有効にします。hgio_scaleにより、もともとの画面サイズに対して、指定した倍率で表示を行ないます。倍率を固定したい場合には、こちらを使用してください。通常は、hgio_autoscaleを使用することを推奨します。 

hgio_autoscale( 0 );
  画面のスケーリングを自動的に調整したい場合は、hgio_autoscaleの行を有効にします。hgio_autoscaleにより、描画した画面サイズを適切に拡大縮小し、現在のスクリーンに表示させます。
カッコ内の数値で、スケーリングの方法をいくつか指定することができます。 

0 : 画面全体に収まる最適な大きさ(縦横比は維持)
1 : X方向のサイズを基準に拡大縮小(縦横比は維持)
2 : Y方向のサイズを基準に拡大縮小(縦横比は維持)
3 : 縦横比は無視して画面全体に表示
スケーリングの設定は、起動時に行なわれます。スクリプト実行中に変更することはできません。 

hgio_uvfix( 1 );
  テクスチャを拡大した際に、隣のピクセルがブレンドされてしまう現象を補正します。 通常はこのオプションを指定する必要はありませんが、画面のスケーリング等で正しくテクスチャが表示されない場合に試してみてください。
  カッコ内の数値が0以外の場合は補正がONになります。0の場合は補正がOFFになります。



下記の例では、画面サイズは「800x480」表示で、「画面全体に収まる最適な大きさ(縦横比は維持)」の設定となります。


これで画面の表示サイズを設定は終わりです。



Windows上で実行する際の画面サイズ変更("hsp3dish.ini"について)


「hsp3dish.ini」は、Windows上で実行する際に画面サイズなどの設定を参照するためのファイルです。
ソーススクリプトがあるフォルダに置いておくと、ソーススクリプト実行時に設定が反映されます。


パラメーター名          設定内容
----------------------------------------
wx = 画面のX(横)サイズ
wy = 画面のY(縦)サイズ
autoscale = 自動スケーリング値



これで画面表示サイズを設定は終わりです。



Windows用の実行ファイル(*.EXE)での画面サイズ変更


HSP3Dishを利用したWindows用の実行ファイルを作成することができますが、起動設定ファイル(hsp3dish.ini)は適用されません。
Windows用の実行ファイルを作成する場合は、#packopt命令にて画面サイズを変更できます。

 #packopt xsize 480 ; 横サイズ
 #packopt ysize 800 ; 縦サイズ


これで画面表示サイズを設定は終わりです。