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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0814
気まぐれな猫cls命令とboxf命令について3解決


気まぐれな猫

リンク

2008/8/14(Thu) 00:58:49|NO.18166

こんばんは。

質問させて頂くために投稿させて頂きました。

私はまだHSP初心者でいろんな講座をやっているサイトをいろいろ回りました。

そこで、気になったのですが・・・、

*MAIN COLOR 255,255,255 BOXF X,Y,X+100,Y+50 X=X+1 Y=Y+1 POS X,Y COLOR 0,0,0 MES "わーい" WAIT 2 IF Y<300 : GOTO *MAIN STOP

では、文字を表示させ、IF命令でまた戻り、BOXF命令でさっき表示させた文字を隠して、

文字を表示させるといった繰り返しになることは分かります。

しかし、他のサイトではBOXF命令ではなくCLS命令を使うこともあり、サイトによって、

様々です。

それで、こういうときはBOXF命令でするべきか、CLS命令するべきか・・・・。

教えてくれますか?

ではよろしくお願いいたします。



この記事に返信する


たこ

リンク

2008/8/14(Thu) 01:07:50|NO.18167

cls命令は配置したオブジェクトまで消してしますので、
オブジェクトのあるウィンドウでは使わないほうがいいです
また、clsで画面の再描画を繰り返すとredrawを使っても画面がちかちかするので
意図的にオブジェクトも削除する目的以外ではboxfを使ったほうがいいです



inovia

リンク

2008/8/14(Thu) 01:12:32|NO.18168

cls命令はボタンなどのオブジェクトも消してしまいます。
それに対してboxf命令はただ四角を描いているだけなので、オブジェクト等は消えません。
以下のスクリプトを実行すると分かると思います。


*main title "" cls 0 button "cls",*_cls button "boxf",*_boxf stop *_cls cls 4 repeat 5 c=5-cnt title "あと"+c+"秒で復帰します。":wait 100 loop goto *main *_boxf boxf repeat 5 c=5-cnt title "あと"+c+"秒で復帰します。":wait 100 loop goto *main

ただ、clsはオブジェクトを消す動作までするため、重いです。
ですので、普通はboxfで消すのがいいと思います。



気まぐれな猫

リンク

2008/8/14(Thu) 20:47:15|NO.18235

質問に答えてくださってありがとうございます。

二人の意見に参考して頑張ります。

ありがとうございました。



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