HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0423
じんくすこのスクリプトを改良してください。3未解決


じんくす

リンク

2012/4/23(Mon) 09:00:50|NO.46221

txtを読み込んでクリックすると文が進むプログラムです。ですがクリックするたび画面内の
文字をすべて消してから新たに表示してしまうので、消してしまわずに残したまま文を表示させたい
です。

#include "hsp3util.as" *taitoru sdim txbf,32000 sdim ldt,256 sdim moj,64,32 dim jp,3 notesel txbf ; シナリオをバッファに読み込む noteload "サンプル.txt" ; po=0 ; 読み取り場面No. *main clrobj ; 全ボタンをクリア ; 画像表示 ; noteget tmp2,po*4+1 ; シナリオから場面1行目読み込み(画像ファイル名) split tmp2,",",cgfn,ongaku picload cgfn ; 画像ファイル表示 title cgfn ; タイトルバーに画像ファイル名表示 mmload ongaku,1,1 if ongaku!"" :mmplay 1 noteget ldt,po*4+2 ; シナリオから場面2行目読み込み(メッセージ) split ldt,",",moj :c=stat ; メッセージ分割 ; メッセージ表示 text 10 font "MS UI Gothic",23,1 color 0,0,0 if c>0 { color 255,255,255 pos 8,8 :repeat c :emes moj(cnt) :loop } ; 選択肢の処理 ; noteget ldt,po*4+3 split ldt,",",moj(0),s0,moj(1),s1,moj(2),s2 c=stat/2 jp(0)=int(s0) :jp(1)=int(s1) :jp(2)=int(s2) if c=0 :moj(0)="▼" :jp(0)=po+1 :c=1 ; 選択肢が無い時の処理 objmode 1 objsize 250,60 repeat c pos (ginfo_winx-c*250)/2+(250*cnt),ginfo_winy-60 if moj(cnt)="badend"{//もしバッドエンドだったらボタンを真ん中へ pos 300,300 } button "",*botan :objprm cnt,moj(cnt) ; ボタン表示 loop stop *botan repeat c if moj(cnt)="badend":goto *taitoru loop po=jp(stat) :goto *main ; 選択肢による飛び先をセット
サンプル.txtの中身は、

--- No.000 ---
真っ黒.jpg,タイトル.mp3
サンプルです,

--- No.001 ---
室内.jpg,
文字を表示します,

--- No.004 ---
真っ黒.jpg
選択肢,
a,006,b,005
--- No.005 ---
真っ黒.jpg
終わり,
badend,5
--- No.006 ---
真っ黒.jpg
終わり,
badend,6
こんな感じです



この記事に返信する


TMKL

リンク

2012/4/23(Mon) 18:53:23|NO.46225

よく意味が分かりませんが、

サンプルです

文字を表示します

選択肢


となっているのを、

サンプルです

サンプルです
文字を表示します

サンプルです
文字を表示します
選択肢

としたいということですか?



暇人

リンク

2012/4/24(Tue) 00:57:32|NO.46243

emesは癖があるからちょい面倒だけど


#include "hsp3util.as" buffer 1 //背景用仮想バッファ moj="一行表示終了2秒後に背景を変える。","追加の文字列を表示" gsel 1 //背景用バッファを描画対象にする picload "真っ黒.jpg" //背景用仮想バッファに読み込み gsel 0 //メインウィンドウを描画対象にする pos 0,0 gcopy 1,0,0,640,480 //背景用仮想バッファをメインウィンドウにコピー color 255,255,255 font "MS UI Gothic",23,1 text 10 emes moj gsel 1 //背景用バッファを描画対象にする picload "室内.jpg" //背景用仮想バッファに読み込み gsel 0 //メインウィンドウを描画対象にする wait 200 redraw 0 //描画作業中の書き換えが見えないように pos 0,0 gcopy 1,0,0,640,480 //背景用仮想バッファをメインウィンドウにコピー text 0 emes moj //上のコピーで文字が消されるから再度表示 mes_posx=ginfo_cx //文字描画終了後の描画ポジション mes_posy=ginfo_cy redraw 1 //書き換えを反映 gsel 0 //メインウィンドウを描画対象にする color 255,255,255 pos mes_posx,mes_posy //前回の続きの位置に設定 text 10 emes moj(1)
文字列用の仮想バッファ作って背景コピー文字コピーって方法もある
emes使ってるとちょっと工夫が必要になるが・・・



fortunehill

リンク

2012/4/24(Tue) 04:12:04|NO.46244

/* とりあえず動かしてみました。下記 銑い変更点です。*/


#include "hsp3util.as" *taitoru sdim txbf,32000 sdim ldt,256 sdim moj,64,32 dim jp,3 notesel txbf ; シナリオをバッファに読み込む ; noteload "サンプル.txt" ; // .汽鵐廛襯如璽燭離瀬漾 // ; txbf = {"--- No.000 --- sky_bg.jpg,タイトル.mp3 サンプルです, --- No.001 --- jp6girl.bmp, 文字を表示します, --- No.004 --- sky_bg.jpg, 選択肢, a,004,b,003 --- No.005 --- sky_bg.jpg, 終わり, badend,5 --- No.006 --- sky_bg.jpg, 終わり, badend,6 こんな感じです"} ; // --- No.004 ---のジャンプ先インデックスを変更した // ; po=0 ; 読み取り場面No. *main clrobj ; 全ボタンをクリア ; 画像表示 noteget tmp2,po*4+1 ; シナリオから場面1行目読み込み(画像ファイル名) split tmp2,",",cgfn,ongaku title cgfn+" "+(po*4) ; タイトルバーに画像ファイル名表示 cls ; // CLS命令でSCREENを初期化した(Buttonオブジェクトも削除) // ; if (cgfn != "") {picload dirinfo(1)+"/sample/demo/"+cgfn,1} ; 画像ファイル表示 ; // cgfnが空の場合読み込まない+SCREENサイズの固定 // ; mmload ongaku,1,1 if ongaku!"" :mmplay 1 noteget ldt,po*4+2 ; シナリオから場面2行目読み込み(メッセージ) split ldt,",",moj :c=stat ; メッセージ分割 ; メッセージ表示 text 10 font "MS UI Gothic",23,1 color 0,0,0 if c>0 { color 255,255,255 pos 8,8 :repeat c :emes moj(cnt) :loop } ; 選択肢の処理 ; noteget ldt,po*4+3 split ldt,",",moj(0),s0,moj(1),s1,moj(2),s2 c=stat/2 jp(0)=int(s0) :jp(1)=int(s1) :jp(2)=int(s2) if c=0 :moj(0)="▼" :jp(0)=po+1 :c=1 ; 選択肢が無い時の処理 objmode 1 objsize 250,60 repeat c pos (ginfo_winx-c*250)/2+(250*cnt),ginfo_winy-60 if moj(cnt)="badend"{ ;もしバッドエンドだったらボタンを真ん中へ pos 300,300 } button "",*botan :objprm cnt,moj(cnt) ; ボタン表示 loop stop *botan repeat c if moj(cnt)="badend":goto *taitoru loop po=jp(stat) :goto *main ; 選択肢による飛び先をセット



ONION software Copyright 1997-2023(c) All rights reserved.