;------------------------------------------------------ ; HSP demo ver5.1 ( sample script ) ;------------------------------------------------------ ; 実行ファイル作成時のみ定義してください ;#define RELEASE title "HSP2 demonstration script" #ifdef RELEASE chdir "sample\\demo\\" #endif cls 4:color 255,255,255 pos 520,450:mes "Loading..." sndload "effec.wav",1 sndload "bgm8.mid",2 sndload "gx3_.mid",3 sndload "ou3.mid",4 ;------------------------------------------------------ lgkaz=30 dim lga,lgkaz dim lgx,lgkaz dim lgy,lgkaz ;------------------------------------------------------ #ifdef RELEASE snd 2 ; 音楽を再生 #endif *mainmenu ; メインメニュー ; x=dispx-640/2:y=dispy-480/2 screen 0,640,480,0,x,y color 240,245,255:boxf ;cls 0 buffer 3 picload "hsp2ttlx.jpg" gsel 0 ; オブジェクト配置 ; objmode 1+16,1 font "MS ゴシック",16,1+16 x=114:y=240:color 192,192,255 pos x+1,y+1:mes "HSPの世界へようこそ。メニューのボタンを押してください。" color 0,0,160 pos x,y:mes "HSPの世界へようこそ。メニューのボタンを押してください。" font "MS ゴシック",16,1 x=294:y=280:pos x,y objsize 80,24,30 button "readme",*see_readme button "demo",*demomain button "manual",*see_man button "sample",*see_sample ;button "biginer",*see_bigin ;button "home",*see_home button "quit",*owari x=390:y=282:pos x,y mes "はじめにお読みください" mes "HSPデモンストレーション" mes "HSP総合マニュアルを開く" mes "サンプルフォルダを開く" ;mes "初心者のためのHSP入門を見る" ;mes "ONION softwareホーページへ" mes "終了" ; 白からフェードイン ; color 255,255,255 repeat 16 redraw 0:boxf 0,0,640,200 pos 0,0:gmode 3,640,200,cnt*16:gcopy 3 redraw 1,0,0,640,200:wait 5 loop ; ロゴをフェードイン ; buffer 3 picload "hsp2ttl.jpg" gsel 0 a=-8 repeat : if a>15 : break redraw 0 repeat 8 x=a+cnt*16:pos x,0 gmode 3,32,200,8-cnt*32:gcopy 3,x,0 x=30-a+cnt*16:pos x,0 gmode 3,32,200,cnt*32:gcopy 3,x,0 loop redraw 1,0,0,640,200:wait 5 a+:loop stop *see_sample snd 1 exec exedir+"\\sample",16,"explore" stop *see_readme snd 1 a="・HSP2 demonstration" gosub *mkwall objmode 1 redraw 0 mes {" このプログラムは、HotSoupProcessor Ver2の機能と使い方の 紹介をするためのものです。メインメニューから見たい項目 を選んでボタンを押してください。 このプログラムはすべてHSPで書かれています。初めてHSPを 知った方は、「HSPデモンストレーション」を選んで、HSPの 機能をご覧ください。 "} ; font "MS ゴシック",16,1 pos 330,360:objsize 64,24,28 ;button "hsphtml",*see_hsp2 button "menu",*mainmenu pos 400,362 ;mes "HSP2の案内を読む" mes "メインメニューに戻る" redraw 1 stop *see_hsp2 snd 1 exec "hsp2.htm",16 stop *see_man snd 1 exec exedir+"\\index.htm",16 stop *see_home snd 1 exec "http://www.onionsoft.net/",16 stop *see_bigin snd 1 exec "biginer/index.htm",16 stop *demomain ; HSPデモ本編 ; sndoff snd 1 gosub *logodemo ; opening snd 3 a="・HSPとは?":gosub *mkwall objmode 1 text 50 mes "HSPは、Windows上で手軽に使えるインタプリタ言語です。 mes "テキストによるスクリプトを書くだけで、誰にでも簡単に mes "画像表示、ランチャーメニューなどのシステムが作れます。 mes "多彩な命令セットを使いこなすことでCG集、音楽集、デモンス mes "トレーション、そしてゲームアプリケーションまで作成するこ mes "とができます。 pos 530 button "次へ",*demo2 stop *demo2 gosub *pldemo a="・HSPの特長":gosub *mkwall objmode 1 text 50 mes "・簡単に覚えられて強力な命令セット mes "・エディタ付属ですぐに使い始めることができます mes "・高速な動作をする中間言語処理インタプリタ mes "・作ったプログラムやデータを一括で実行ファイルにできます mes "・Windows標準のスクリーンセーバーが作成可能です mes "・作ったプログラムは自由に再配布が可能、 mes " ライセンス料も不要です mes "・拡張プラグイン・モジュールにより数多くの機能を追加可能です pos 480,310:button "次へ",*demo3 stop *demo3 *inpdemo ; input object demo ; x=dispx-640/2:y=dispy-480/2 screen 0,640,480,, x,y,640,480 cls 4 objmode 1,1 font "MS ゴシック",20,3 x=16:y=20:color 192,255,128 pos x,y:mes "・HSP script test" font "MS ゴシック",14,1 x=40:y=50:color 0,192,0:pos x,y mes "HSPでは、ボタンや入力ボックスなどのオブジェクトを" mes "自由に配置して使うことができます。" mes "下のサンプルを操作してみてください。" sysfont:color 0,192,192 pos 40,130:mes "・けいさん" pos 40,200:mes "・グラフ" pos 40,270:mes "・メッセージ" ; objsize 48,24:color 192,192,192 cal1=1:cal2=1 caltype=0:calmark="+\n-\n*\n/" pos 60,160:input cal1 pos 160,160:input cal2 objsize 40,24 pos 114,159:combox caltype,150,calmark ; objsize 64,24 grph=10:x=280 pos 60,230:input grph pos 138,230:button "GO",*idgrph pos 138+64,230:button "RND",*idrnd ; pos 60,300:ids="ここにメッセージを入れてください。" mesbox ids,320,100,1 button "GO",*idmes ; objsize 120,24 pos 480,400:button "テスト終了",*idover *idmain color 0,0,0:boxf 210,162,320,180 color 192,192,192 cal1b=cal1:cal2b=cal2:caltb=caltype if caltb=0 : ans=cal1+cal2 if caltb=1 : ans=cal1-cal2 if caltb=2 : ans=cal1*cal2 if caltb=3 : if cal2!0 : ans=cal1/cal2 : else : ans=0 pos 210,162:mes "= "+ans *idloop if cal1!cal1b : goto *idmain if cal2!cal2b : goto *idmain if caltb!caltype : goto *idmain wait 5:goto *idloop stop *idrnd int a:rnd a,20:a=a+1*5:objprm 3,a goto *idloop *idgrph if x>580 : x=580:pos 280,100:gcopy 0,300,100,320,150 a=250-grph:if a>250 : a=250 if a<100 : a=100 color 255,0,0:boxf x,a,x+18,250 x+=20 goto idloop *idmes dialog ids goto *idloop *idover ; VisualNovel Demo ; snd 4 x=dispx-640/2:y=dispy-400/2 screen 0,640,400,1, x,y,640,400 cls 4:redraw 2 picload "yj_pnn.mag",1 color 0,0,0:boxf 0,0,640,400 redraw 1 buffer 3,128,128,1 picload "yj_pnn.mag" gsel 0:gmode 1 mx=-32:repeat 60 repeat 32 a=cnt*20:x=cnt+mx:if x>20 : x=-1 if x>0 : pos a,0:gcopy 3,a,0,x,400 loop await 48 mx+:loop palette 16,255,255,255 pf=0:pp=-8:a=16:gosub *palgo2 font "MS 明朝",18,1:objsize 64,24,22 pos 32,280:text 50:palcolor 16 mes "「こんなふうに、文字を重ねてビジュアルノベルみたいな mes " 画面も作れます。文字を出す速さも指定できるんですよ」 wait 600 pp=8:a=16:gosub *palgo2 pos 0,0:gcopy 3,0,0,640,400 pos 540,340:button "次へ",*demo3x stop *demo3x a="・HSPの応用範囲":gosub *mkwall text 50 mes "HSPはあなたのアイデア次第で色々な場面で使用できます。 mes " " mes "・プログラムランチャー、メニューとして mes "・CG集、音楽集などのメディアブラウザとして mes "・ビジュアルノベルなど様々なジャンルのゲーム作成に mes "・画面レイアウトの試作、画像データの変換に mes "・文化祭、学園祭などの展示、店頭デモなどに pos 480,260:button "次へ",*demo4 stop *demo4 x=dispx-640/2:y=dispy-480/2 screen 0,640,480,0,x,y cls 4 buffer 3 picload "oniinfo.jpg" ; gsel 0:gmode 0,640,1:a=0 repeat 120 a=cnt*2 pos 0,239-a:gcopy 3,0,239-a pos 0,240+a:gcopy 3,0,240+a await 20 loop repeat 120 a=cnt*2 pos 0,240-a:gcopy 3,0,240-a pos 0,241+a:gcopy 3,0,241+a await 20 loop wait 400 *demo5 a="・インフォメーション":gosub *mkwall objmode 1 text 50 mes "HSPはインターネット上のホームページでサポートを mes "行なっています。 mes "(ONION software HOMEPAGE) mes " http://www.onionsoft.net/hsp/ mes " " mes "HSPについての最新情報、サンプルスクリプト、 mes "FAQ、などのコーナーがあります。HSPについての mes "ご意見、BUGの情報、要望などいつでもお待ちして mes "います。 pos 500,290:button "次へ",*demo6 stop *demo6 ; new feature ; x=dispx-640/2:y=dispy-480/2 screen 0,640,480,0,x,y picload "hspnew.jpg",1 objmode 1 font "MS ゴシック",18,1+16 pos 32,100:color 0,0,64 text 50 mes "Hot Soup Processor ver2.61は、 mes "システム面や機能面で多くの mes "拡張を行なっています。 pos 32,180 mes "コンソールモードに標準対応、 mes "拡大回転を含む画像処理機能や mes "ODBCサポートなどを追加。 mes "スクリプト実行の安定化と mes "手軽で使い勝手の良い mes "開発環境を提供します。 pos 32,310 mes "その他にも拡張マクロ機能や、 mes "実行ファイル自動作成などの mes "オプションが追加されています。 wait 500 *demo7 x=dispx-640/2:y=dispy-480/2 screen 0,640,480,1, x,y,640,480 cls 4 redraw 2 picload "onibtn.mag",1,460,360 font "Arial",16 x=200:y=180 wait 100 pos x+2,y+2:color 0,0,192:gosub *edmes pos x,y:color 255,255,255:gosub *edmes sysfont pf=-256:pp=16:a=16:gosub *palgo wait 600 sndoff pp=16:a=16:gosub *palgo snd 2 screen 0 goto *mainmenu *edmes mes "HSP DEMO script" mes "copyright 2004 onion software" mes " script & design by onitama" mes " Music by CHOBIN,onitama,kamitama" mes " CG picture by Y-jinn" return *palgo ; 画面のフェードイン・アウト ; pf+=pp:palfade pf:redraw 1:await 10 a-:if a : goto *palgo return *palgo2 ; 画面のフェードイン・アウト(16color) ; pf+=pp:palfade pf,0,15:redraw 1:await 10 a-:if a : goto *palgo2 return *mkwall ; BGの壁紙作成 ; x=dispx-640/2:y=dispy-480/2 screen 0,640,480,, x,y,640,480 buffer 3,128,128 picload "wallbg.jpg",1 gsel 0:cls:redraw 2 gmode 0,100,100 repeat 5:y=cnt*100:repeat 7:x=cnt*100 pos x,y:gcopy 3 loop:loop font "MS ゴシック",32 x=20:y=64:pos x,y:color 0,0,0:mes a font "MS ゴシック",18,1:objsize 64,24,22 x+=20:y+=60:pos x,y redraw 1 return *pldemo ; picload demo ; x=dispx-640/2:y=dispy-480/2 screen 0,640,480,1, x,y,640,480 cls 4 redraw 2 picload "onibtn.mag",1,460,360 font "MS ゴシック",20,1 color 255,255,255:pos 170,40 mes "HSPでは色々なタイプのデータを mes "手軽に扱うことができます。" pos 180,140:color 0,255,255 mes "・BMP 16,256色/フルカラー画像ファイル mes "・JPG フルカラー画像ファイル mes "・MAG 16,256色画像ファイル mes "・WAV PCM音声ファイル mes "・MID 標準MIDIファイル mes "・AVI 標準動画ファイル mes "・CDaudio オーディオCDトラック pos 48,360:color 192,192,192 mes "これらを自由に組み合わせたスクリプトで" mes "あなたのオリジナルソフトが作れます。" font "Arial",18 x=0:y=0:a=0 repeat 5 rnd x,50:lgx.cnt=x+33 rnd y,50:lgy.cnt=y+41 rnd a,4:lga.cnt=a loop pf=-256:lgcnt=0 *plwt redraw 2 color 0,0,128:boxf 32,40,32+100,40+100 gosub *plsub c=10:a="JPEG" dup x,lgx.0: dup y,lgy.0:gosub *putstr c=6:a="MAG" dup x,lgx.1: dup y,lgy.1:gosub *putstr c=5:a="BMP" dup x,lgx.2: dup y,lgy.2:gosub *putstr c=1:a="WAV" dup x,lgx.3: dup y,lgy.3:gosub *putstr c=3:a="MID" dup x,lgx.4: dup y,lgy.4:gosub *putstr if lgcnt<8 : pf+=32 : palfade pf:redraw if lgcnt>492: pf-=32 : palfade pf:redraw lgcnt+ redraw 1, 32,40,100,100 await 20 if lgcnt<500 : goto *plwt return *plsub repeat 5 dup lx,lgx.cnt: dup ly,lgy.cnt: dup la,lga.cnt if la&1 : lx+ : else : lx- if la&2 : ly+ : else : ly- if lx=32 : la=la^1 if lx=85 : la=la^1 if ly=40 : la=la^2 if ly=120 : la=la^2 loop return *putstr palcolor 0:pos x+2,y+2:mes a palcolor c:pos x,y:mes a return *logodemo ; Flying LOGO demo ; x=dispx-640/2:y=dispy-400/2 screen 0,640,400+400+50,1, x,y,640,400 cls 4 picload "onibtn.mag",1,0,800 buffer 3,128,128,1 picload "hsplogo8.mag" gosub *logo_ini *wtlogo gosub *logo_put await 30:if lgcnt<200 : goto *wtlogo return *logo_ini ; 飛ぶロゴ初期化 ; x=0:y=0:a=0 repeat lgkaz rnd x,100:x=x*4+60:lgx.cnt=x rnd y,100:y=y*4-50:lgy.cnt=y rnd a,4:lga.cnt=a+1 loop lgcnt=0 gsel 0 pos 0,0:gcopy 0,0,400,640,400 mx=136-80:my=50-40:xx=284:yy=320 pf=-256 return *logo_put ; 飛ぶロゴ・メイン ; gsel 0 color 0,0,0 redraw 2 if my=100 : goto *logo_nx gmode 0,136,50 pos xx,yy+400:gzoom mx,my ,0,0,800 boxf xx,yy+my+400,xx+mx,yy+my+402 pos xx,yy:gcopy 0,xx,yy+400,mx,my+2 mx+=2:my+:xx-:yy-=2 *logo_nx gmode 1,80,50 repeat lgkaz dup lx,lgx.cnt: dup ly,lgy.cnt: dup la,lga.cnt pos lx,ly:gcopy 0,lx,ly+400 ly+=la:if ly>330 : ly=-50 loop gmode 2,80,50 repeat lgkaz pos lgx.cnt,lgy.cnt : gcopy 3,0,lgcnt+cnt\10*50 loop if lgcnt<32 : pf+=8 : palfade pf if lgcnt>168: pf-=8 : palfade pf lgcnt+ redraw 1 return *owari ; おしまい ; sndoff end