[PR] この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。
Hot Soup Processor スクリプト言語システム
HSP . フォント、画像
PSH x HSP | 講座 | オブジェクト | COM | MCI | 用語 | ソフト | HTMLタグ | リンク |
フリーウェアのスクリプト言語システムHSPを利用したプログラミング講座です。ONION softさんが開発したものです。HSPは無料ソフトですよー。
■ font
HSPのウィンドウの文字表示のフォントを指定する命令です。文字の大きさなどを指定できる。このサンプル例では影文字風に複数行の文字列を表示してます。文字スタイルは通常(1)、太字(2)、イタリック対4)、下線(8)、打ち消し線(16)から選択する。数値を組み合わせれば複数のスタイルを提供できる。
message="Hot Soup Processor\nHSP-PSH\nSample Script" ;元々の文字列 font "MS Pゴシック", 40,1 ;フォント x=10 ;文字列を表示するX/Y座標 y=10 color 0,0,0 ; 黒文字を描画 pos x+1,y+1 mes message color 255,255,255 ; 白文字を描画 pos x,y mes message color 255,0,0 font "MS 明朝",20,4+8 mes message |
■ emes・text
文字を1文字ごとにゆっくり表示する処理です。textで表示スピードを調整でき、emesで表示文字を指定できる(mesは使えない)。「hsp3util.as」ファイルのインクルードを最初に行っておくのを忘れないように。
#include "hsp3util.as" ;文字表示スピード text 150 pos 50,50 color 0,0,0 boxf 0,0,400,400 color 255,255,255 font "MS Pゴシック",70,1+16 emes "Bold" font "MS Pゴシック",70,2+16 emes "Italic " font "MS Pゴシック",70,4+16 emes "Underline" font "MS Pゴシック",70,8+16 emes "Strike" |
■ palcolor
screen 0,,,1 ;パレットモードのウィンドウ repeat 16 redraw 0 posy=cnt repeat 16 palcolor palcode palcode++ circle cnt*20,posy*20,cnt*20+20,posy*20+20 ;円を描画 loop redraw 1 wait 50 loop |
■ 図形の描画
psetは1ドット点、lineは1本線、boxfは四角形、circleは円形を描画できる命令。この時に上の時刻表示でも触れたredraw命令がポイントで、モード0を指定すると図形の描画が反映されない、モード1だと描画したものが目に見えるよう反映される。これにより、処理の負担(処理時間)を軽減できる。
randomize redraw 0 ; ;描画の一時停止(ここをコメントアウトするとよく分かる) repeat 500 color rnd(255),rnd(255),rnd(255) ; 表示色の指定 pset
rnd(640),rnd(480) |
■ グラデーション表示
pos 300,10 input red,40,20,3 button "描画",*check stop *check if red > 255 : stop title "please wait..." color 255,255,255 boxf 10,10,270,270 redraw 0 repeat 256 count = cnt repeat 256 color red,count,cnt pset cnt+10,count+10 loop loop redraw 1 title "" |
■ 画像表示
HSPはBMPファイルとGIFファイルとJpegファイルの画像の読み込みをサポートしている。picload命令を利用する。
dialog "bmp;*.gif;*.jpg",16,"画像ファイル" if stat=0:stop picload refstr,0 |
■ バッファ画面に画像を用意
実用的な画像ファイルの利用は、buffer命令で仮想ウィンドウを用意して、最初の段階でそこに画像を表示しておき、必要なイメージ画像はHSP命令のgcopyでその都度コピーしてくるといい。
dialog "bmp;*.gif;*.jpg",16,"画像ファイル" if stat=0:stop buffer 2 ;仮想ウィンドウを用意し画像ファイル読み込み picload refstr,0 gsel 0 ; ウィンドウID0に制御を戻す pos 100, 100 gcopy 2,0,0,100,100 ; ウィンドウID2から画像をコピー |
■ 色加算コピー
gmodeを使った色加算合成コピー。ブレンド率を変更すると、フェード効果も実現可能になる。
screen 2 ; 合成前の元となるもの repeat 13 color cnt*20,cnt*20,cnt*20 boxf 0,cnt*10,200,cnt*10+10 loop screen 0 randomize repeat color rnd(256),rnd(256),rnd(256) boxf 0,0,200,150 ; 色加算合成コピー gmode 5,200,150,256 pos 0,0 gcopy 2,0,0 redraw 1 wait 50 redraw 0 loop |
□ HSP入門MENU
● HSP入門1 : 文字の表示、タイトルバー |
● HSP入門2 : ループ、ラベル |
● HSP入門3 : 色、ポジション |
● HSP入門4 : 文字処理 |
● HSP入門5 : 日時・時間 |
○ HSP入門6 : フォント、画像 |
● HSP入門7 : ウィンドウ、ダイアログ |
Q&A (準備中)
0.HSPを利用していくうえでポイントは?
1. HSPでプログラム言語を作成できる?
ちょっと難しいです。HSPはインタプリタというスタイルの言語なので。
2. ウィンドウにメニューを作成するには?
Windows APIというのを使うと作成できるみたいですが、分からない人ようにメニューを表示するHSPモジュールが付いてます。「mod_menu.as」というファイルです。
3.ダイアログボックスで「はい」「いいえ」以外の文字を表示するには?
できません。Windows APIというのを使うとたがう種類のダイアログは表示できますが、文字はいじれません。
4.ホームページをブラウザで開きたい。
execが使えます。URアドレスを指定して起動タイプは16です。デフォルト設定になってるインターネットブラウザで立ち上がります。
~~~~~
PSH x HSP | HSP講座 | 実行ファイルの作成方法 | オブジェクトの用意 | 音楽・動画の再生 | HSPの用語