Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2009-04-10

文字遅延描画も落とし穴だったよ!

| 18:31

 というわけで、とりあえずちょっと見た目から・・・と思ったところがいきなりハマったので、、先生と弟子モードはお休みです;

 ちょっと文字遅延描画を使ってみようと思っただけなのにぃ~。め

 これは、正常に動作しますが・・・

#-------------------------------------------------------------
塗り色は$008800
母艦の15,15から15+440,15+330へ四角
母艦の可視はオン

文字色白色文字サイズは24
母艦の30,30へ「問題」を文字描画文字サイズは18
母艦の50,80へ「江戸幕府を開いたのは?」を200で文字遅延描画
#-------------------------------------------------------------

 イメージの上に文字遅延描画しようとすると、最初の一文字が表示された後、ずっとたってから、他の文字が一気に表示されてしまうという事態になります。

#-------------------------------------------------------------
問題表示とはイメージの可視はオンのXは15。のYは15。のWは440。のHは330
問題表示を$008800で画面クリア

文字色白色文字サイズは24
問題表示の30,30へ「問題」を文字描画文字サイズは18
問題表示の50,80へ「江戸幕府を開いたのは?」を200で文字遅延描画
#-------------------------------------------------------------

 うえぇ、なんでだ~;

 これって、もしかして15パズルのギブアップ機能のところではまったのと同じ現象?

 あの時は、何でか分からないけど、直後に描画処理反映を入れることによって解決したのでした。

 この命令の内部ではおらく、文字列sをばらばらにして、一文字描画してウェイトをかけ、また一文字描画して・・というのを文字数分繰り返してるはず。

 一文字描画するたびに、描画処理反映必要って話なんじゃ?

 でも、それにしちゃ、最初の一文字だけは出るってどーいうことだ?

 それにギブアップのときは、別にイメージの上にコピーしたというわけじゃない

 意味わかんな~い(汗)


 わかんないけど、以下のようにしたら動きました。

 やっぱ、描画処理反映なの?

 ここを、コメントにすると、やっぱり上の通常の文字遅延描画を使った時と全く同様の動きをすることが分かった。

#-------------------------------------------------------------
問題表示とはイメージの可視はオンのXは15。のYは15。のWは440。のHは330
問題表示を$008800で画面クリア

文字色白色文字サイズは24
問題表示の30,30へ「問題」を文字描画文字サイズは18

xは50。yは80。
sとは文字列。sは「江戸幕府を開いたのは?」
Aとは整数。Aは200/1000   #ウェイト。ミリ秒
文字遅延描画改

*文字遅延描画改
 (sの文字数
   sの回数から1文字抜き出す。
   問題表示のx,yへそれ文字描画。
   描画処理反映
   (A)秒待つ。
   
   x=x+(それ文字幅取得)
#-------------------------------------------------------------

 これは、仕様?(汗)

 母艦に描画するのが前提で、イメージ部品の上に書くことは想定されてないってことなのかな? 確かに一文字ごとに描画処理反映の負荷をかけるのはどうなのっていうのはありますですね。

 やはり、イメージの可視をオンにするのではなく、全部母艦に一度コピーしてやるべきなのでしょうか。

 それとも、OSのバージョンとか何か環境に問題が?


 とりあえず、このサブルーチンの外で別途指定してる変数引数にすれば、命令として使えるんだよね?

 ()の中のまじないの意味がよく分からないけど・・・同じようにすれば出来そうな気もするし、例によっててきとーにやっつけてみますか・・・

kujirahandkujirahand 2009/04/11 12:31 クジラ飛行机です。Vista対応によって、なでしこの描画まわりは不具合が多くなってます。ご不便をかけてすみません。これは!と思ったら、バグ報告をお願いします。

雪乃☆雫雪乃☆雫 2009/04/11 21:04 クジラ飛行机さま、ありがとうございます!!!
うわ~っ、コメントなんていただけて、なんかとってもうれし~ぃ♪
まだ超初心者過ぎて、バグなのか自分の問題なのか良く分からずまごまごしてる状態ですが、気づいたことがあればUPしていくようにしますね。

ゲスト



トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20090410