[解決済] setTextに関して(質問掲示板

投稿:            mini naoki4019 投稿:2017/01/27 23:25:27(最新:2017/01/28 13:54:28)
2DアクションRPGにて
setText(getVariable("テキスト1"), "")
deleteText(getVariable("テキスト1"))
setVariable("テキスト1", createText(0, 0, 900, 80))
setText(getVariable("テキスト1"),"今期アニメはガヴリールドロップアウトがオススメです")


このようなスクリプトを入力すると
「"テキスト1"に入れていた文章を無に上書き」
→「"テキスト1"の座標データをなかったことに」
→「"テキスト1"に新しく座標を設定」
→「"テキスト1"に文章を入れて表示する」
となる・・・
のですがこのスクリプトを何度も使っていると上3マス分くらいの
スペースが真っ黒になってしまいます(´・ω・`)

おそらく原因は「"テキスト1"に入れていた文章を無に上書き」をして
「"テキスト1"の座標データをなかったことに」しているので
無に上書きされた文章がそのまま残り、これが重なりすぎて
真っ黒になっているのかと思います


なので「文章を""に上書き」ではなく、「文章のデータ自体の削除」ができれば解決できると思うのですがどうすればいいのでしょうか・・・

コメントする

コメントするには、ログインする必要があります。

コメント一覧

           mini naoki4019(投稿日:2017/01/27 23:28, 履歴)
setText(getVariable("テキスト1"), "") #1
deleteText(getVariable("テキスト1")) #1

1が全角と半角が混じっていたので文章の座標データをなかったことにできてませんでした、本当にありがとうございました

これをやったら真っ黒にならなくなったので上の考察は全部違います、
座標データを消せば重なりまくって真っ黒になることはありません
お騒がせしてすみません(´・ω・`)
            mini mosmoss(投稿日:2017/01/28 13:11, 履歴)
ちょっと改稿しました

これはループか、それとも条件つきの自動開始イベントです?
どちらかですとdeleteTextで"テキスト1"が初期化されるので
その前に"テキスト1" に" "を代入することの意味が薄いかな、と思います

それと、テキストが真っ黒になるのは、
テキストの内容更新でなく同じ位置にテキスト生成をずっとしていることで起きると思うんですが
"テキスト1"の数字"1"の全角や半角が混在していたために、
生成が繰り返されて文字が塗りつぶされて真っ黒になっていたということでしょうか?
これ、あるあるというか、自分も最初の頃困っていたので、いい質問だと思います(^ω^っ)3
           mini naoki4019(投稿日:2017/01/28 13:44, 履歴)
なぬっ、deleteTextで入っている文字含め初期化されるのですか、初めて知りました(´・ω・`)
これは自動開始イベントではなく単純に何度も使用したら、ですね、村人に何回も話しかける感じ(´・ω・`)

テキスト1が全角半角が混じっていた(deleteTextのみ半角)だったため、テキスト1(全角)の内容が初期化されず残ってひたすら生成されまくって真っ黒になりました_(:3 」∠)_
            mini mosmoss(投稿日:2017/01/28 13:54, 履歴)
1、テキスト生成の後にテキスト文の内容を必ず設定している
2、テキスト文の内容に" "を代入してから、テキスト再生成の間に何も処理がない
この二つの条件が揃っているので不要だと思いましたが状況にもよるかもですね
>繰り返し使用
なるほど、その場合にも黒くなりますね
テキスト消去
テキスト生成
テキスト内容設定
この3つをこの順番で使うのがいいのかな?
同じことを何度も説明していただきまして申し訳ありません(^^;)
ご親切にありがとうございました(^ω^っ)3