トピック
nyannzi CornedBeef

文字表示

文字を書くときに一番端まで行ったときの折り返しや改行した時のスタート地点をX軸0じゃないところから始まるようにしたいのですが、LOCATEでそのつど指定するのは面倒くさいので何か良いアイディアはないでしょうか?
3そうだね
プレイ済み
返信[1]
親投稿
Godot orz_127
それを想定して適当に空白や改行をいれておく。 ダイアログだとよくやる手法かと。
2そうだね
プレイ済み
返信[2]
親投稿
nyannzi CornedBeef
画面を左右分割にして左の内容に合わせて右側の文章を変えるって形にしたかったので空白が入れられなくて 書いた文章を一旦配列に入れてから表示するのが良いのかなぁ もっと楽な方法がありそうだけど思いつかない・・・
2そうだね
プレイ済み
返信[3]
親投稿
☆Tatsukin★ tatu_kin1192
DEF LP X,Y,A$ LOCATE X,Y?A$ END
1そうだね
プレイ済み
返信[4]
親投稿
つばさ☆ nsm2116
↑のだと結局LOCATEでそのつど表示してる気がするんですが……
1そうだね
プレイ済み
返信[5]
親投稿
いいことお餅ついた LOCATE MAX(CSRX,左の限界), 位置を指定する以上LOCATEはなくせないのでTatsukinさんのようにDEF化すると使い勝手が良いです DEF PRINT2 A$ LOCATE MAX(CSRX,左の限界), ?A$ END
1そうだね
プレイ済み
返信[6]
親投稿
本家PRINTと違って;による改行阻止が使えないのが不便なところだけど…
1そうだね
プレイ済み
返信[7]
親投稿
ナルミンチョ naru_starfy28
もっといい方法がありそうだが… これで多分動きます。 DEF newPrint text$,posX DIM i FOR i=0 TO LEN(text$)-1 IF CSRX<posX THEN LOCATE posX, IF CSRX==50 THEN LOCATE posX,CSRY+1 ?text$[i]; NEXT END
0そうだね
プレイ済み
返信[8]
親投稿
みむ*mim hidemimtp
こんなのどう? DEF PRINT_R A$ DIM ROW=LEN(A$) DIV 25 FOR I=0 TO ROW LOCATE 25,:?MID$(A$,25*I,25) NEXT END LOCATEのY座標は指定ナシです。
0そうだね
プレイ済み
返信[9]
親投稿
みむ*mim hidemimtp
あ、Iを宣言してない。 2行目、 DIM I, ROW=LEN(A$) DIV 25 にしてくださいね。
0そうだね
プレイ済み
返信[10]
親投稿
say sayer.exe
メッセージウィンドウみたいなの
0そうだね
プレイ済み
返信[11]
親投稿
say sayer.exe
実行結果
0そうだね
プレイ済み
返信[12]
親投稿
nyannzi CornedBeef
皆さんありがとうございます! 色々な方法や普段使ってない方法が見られて大変為になりました 参考にさせて頂きます。 ありがとうございました。
0そうだね
プレイ済み