お知らせ掲示板 | 質問掲示板 | 不具合報告掲示板 | 機能要望掲示板 | 雑談掲示板

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
42 / 1286 ←次へ | 前へ→

Re:文字列で画面に表示されない文字列を表示させたい
 ゆう  - 2022/11/6(日) 16:05 -
  
>ぽてとです。
>
>\SP.TXL命令と\SP.TXG命令の使い方が間違っているようです。
>\SP.TXL命令は$L変数を表示する。\SP.TXG命令は$G変数を表示します。
>具体的にはcin_0002gは$Gの変数内容を表示するのに、@Lに変数を代入しているため表示されていません。
>
>■各命令の簡単な説明
>・\SP.TXL(011,L)
>$L(011)の中身を文字フォントLで表示する
>
>・\SP.TXG(011,L)
>$G(011)の中身を文字フォントLで表示する
>
>■補足
>スプライト命令で文字列を描画する場合は基本的には$Lの変数を利用したほうが良いです。
>$Lと$Gの違いをざっくり説明すると下記の通りです。
>・$Lはセーブデータ単位で表示する内容を変化させるときに使用
>・$Gはゲーム全体(クリア後等で引き継ぐ情報等)で表示する内容を変化させるときに使用
>
>■つまり
>今回4つの文字列を描画するのに@L(11)、@L(12)、$L(12)、@L(12)の4変数に代入しています。
>$L(11)〜$L(14)の4つに代入しそれぞれを表示するように変更すればよいかと思います。
>
>■サンプル(具体的な記述)
>$L(11)="お金"
>$L(12)="0"
>$L(13)="日数"
>$L(14)="1"
>
>#cin_0001t
>//文字列。
>\SP.ECG(500,50)
>\SP.ZXY(-344,-240, 0)
>\SP.TXL(0011,L)
>\SP.2A(0,256,0)
>\SP.GO(cin_0001t)
>\RETURN
>
>#cin_0001g
>//数字(11〜
>\SP.ECG(500,50)
>\SP.ZXY(-270,-240, 0)
>\SP.TXG(0012,L)
>\SP.2A(0,256,0)
>\SP.GO(cin_0001g)
>\RETURN
>
>#cin_0002t
>//文字列。
>\SP.ECG(500,50)
>\SP.ZXY(-344,-288, 0)
>\SP.TXL(0013,L)
>\SP.2A(0,256,0)
>\SP.GO(cin_0002t)
>\RETURN
>
>#cin_0002g
>//数字(12〜
>\SP.ECG(500,50)
>\SP.ZXY(-344,-288, 200)
>\SP.TXL(0014,L)
>\SP.2A(0,256,0)
>\SP.GO(cin_0002g)
>\RETURN
>
>■補足2
>サンプルは\SP.TXLで表示させていますが必要に応じて\SP.TXGに変更して$G変数を表示させてください。
>
>以上、お役に立てればと思います。


ぽてと様

返信等いつもありがとうございます。

サンプルスクリプトや詳細な説明のおかげで、文字列変数を使えばいいとわかり、変数の違いもわかりました!
また無事に動きましたので、どなたかの参考になるかもしれないのでスクリプトを書いておきます。


//1つ目----------------------------------------------------------
#a01_001

\BG.CMXYZ(0, 0, 0)
\BG(BLACK, , 0, 0)

//初期化---------------------------

$L(11)="お金"
\GOSUB(cin_0001t)

@L(12)=0
$L(12)="0"
\GOSUB(cin_0001g)

$L(13)="日数"
\GOSUB(cin_0002t)

@L(14)=1
$L(14)="1"
\GOSUB(cin_0002g)
//ここまで-----------------------------

初期化済み。以降確認のためのループ。

#a01_002
//@L(14)に1を足す
@L(14)=@L(14)+1
//↓は過去の掲示板から参考にしました。左文字列変数に右変数を文字列変換していれたもの。
\LET($L(14)=$(@L(14)))

日数が増えています。(確認のため日数のみ増えます)

\GO(a01_002)

//2つ目------------------------------------
#cin_0001t
//文字列。(文字列変数は11〜。10以下は汎用で。)
\SP.ECG(500,50)
\SP.ZXY(-344,-240, 0)
\SP.TXL(0011,L)
\SP.2A(0,256,0)
\SP.GO(cin_0001t)
\RETURN

#cin_0001g
//数字(11〜
\SP.ECG(500,50)
\SP.ZXY(-270,-240, 0)
\SP.TXL(0012,L)
\SP.2A(0,256,0)
\SP.GO(cin_0001g)
\RETURN

#cin_0002t
//文字列。(文字列変数は11〜。10以下は汎用で。)
\SP.ECG(500,50)
//\SP.ZXY(8,0,0)
\SP.ZXY(-344,-288, 0)
\SP.TXL(0013,L)
\SP.2A(0,256,0)
\SP.GO(cin_0002t)
\RETURN

#cin_0002g
//数字(12〜
\SP.ECG(500,50)
\SP.ZXY(-270,-288, 200)
\SP.TXL(0014,L)
\SP.2A(0,256,0)
\SP.GO(cin_0002g)
\RETURN

//ここまで----------------------------------------------

です。ぽてと様、今回は本当にありがとうございました!

引用なし
パスワード
187 hits

文字列で画面に表示されない文字列を表示させたい ゆう 2022/10/31(月) 1:13
Re:文字列で画面に表示されない文字列を表示させたい ぽてと 2022/11/6(日) 10:03
Re:文字列で画面に表示されない文字列を表示させたい ゆう 2022/11/6(日) 16:05

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
42 / 1286 ←次へ | 前へ→
58,567
(SS)C-BOARD v3.8.1β4 is Free.