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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0524
f(待機中)DishWin:redraw 1しないと初回表示にフォントサイズが適用されない3解決


f(待機中)

リンク

2018/5/24(Thu) 15:43:43|NO.84487

まず
// HSP 3.5
#include "hsp3dish.as"
screen 0
font "" , 32 // ウィンドウID 0:フォントサイズ 32

// 範囲A
// buffer 1 // 別のウィンドウIDに切り替わる
// font "" , 64 // ウィンドウID 1:フォントサイズ 64
// gsel 0 // ウィンドウIDを元へ戻す

//範囲B
// redraw 1 // 一旦画面更新

// 1回目の表示
redraw 0
mes "Test"
redraw 1

// 目で見てわかるように1秒待つ
wait 100

// 2回目の表示
redraw 0
mes "Test"
redraw 1


を実行してほしい。

次に「範囲A」のコメントアウトを削除して実行してほしい。

最後に「範囲B」のコメントアウトを削除して実行してほしい。



…お分かり頂けただろうか?
自分の環境では一度ウィンドウIDが変わると、gselで元に戻しても
redraw 1するまでフォントサイズが元に戻らない様子なのだが…

どこかで報告されている事象だろうか?



この記事に返信する


ソラ

リンク

2018/5/24(Thu) 17:59:25|NO.84492

正常な動作ではないと思います。

知っていたらすみませんが、
http://www.onionsoft.net/hsp/v33/doclib/hsp3dish_prog.htm
上記のページには「buffer命令で作成した画像バッファに対する加工ができません  (画像の割り当ては可能ですが、描画命令を使用できません)」
と書いているように、そもそもbufferに対してmesを使えないため、Fontも使う意味はないのではないでしょうか。



f(始業前)

リンク

2018/5/25(Fri) 08:07:47|NO.84495

あー、勘違いさせたか。
buffer側でfontを使用しているのはあくまで分かり易くしたもので

・主画面でフォントサイズを変える

・何らかの手段でスクリーンIDを変える
 ->フォントサイズがそのスクリーンの設定(デフォルト等)に変わる

・gselで主スクリーンに戻ってくる
 ->だがこの段階ではフォントサイズは戻っていない

・最初の1回目の表示は、前のウィンドウIDのフォントサイズで表示される

・redraw 1 で、対象ulindouIDの正しいフォントサイズに戻る

…と言う動作をしている様だ、と言うのが本来の話だ。



範囲Aの「// font "" , 64 // ウィンドウID 1:フォントサイズ 64」行を削除して
もう一度試してもらえば分かるだろか。



ソラ

リンク

2018/5/25(Fri) 13:27:29|NO.84496

なるほど。
bufferを使うとバッファーのフォントサイズがメインスクリーンに一時的に引き継がれる、ということですか。
なかなか不便ですね・・・



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