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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0818
コウノトリ他のスクリーンで定義した変数が適用されない5解決


コウノトリ

リンク

2016/8/18(Thu) 16:46:40|NO.76633

下がソースです、ID1のウィンドウで定義した変数が、ID0に適用されません汗
どうすれば適用されるのでしょうか??教えてください。

*setting linewidth=0 *set screen 1, 300, 500, screen_normal, 1000, 200 button gosub "線の太さ:1",*line1 button gosub "線の太さ:3",*line3 button gosub "線の太さ:5",*line5 gsel 1, 1 *create onclick goto *createdrawing stop *createdrawing onclick goto *create mfx=mousex : mfy=mousey pset mfx, mfy line mousex, mousey, mfx, mfy if linewidth=3 or linewidth=5{ line mousex+1, mousey+1, mfx+1, mfy+1 line mousex-1, mousey-1, mfx-1, mfy-1 if linewidth=5{ line mousex+2, mousey+2, mfx+2, mfy+2 line mousex-2, mousey-2, mfx-2, mfy-2 } } repeat mx=mousex : my=mousey line mx, my wait 1 loop stop *line1 linewidth=1 gsel 0, 1 return *line3 linewidth=3 gsel 0, 1 return *line5 linewidth=5 gsel 0, 1 return



この記事に返信する


スペース

リンク

2016/8/18(Thu) 17:10:18|NO.76634

*createdrawingの直後にlinewidth=5と書いても適用されませんよね?
つまり線を描画する処理に問題があります。
14行目でmfx=mousex:mfy=mouseyとしている為、
17~24行目は意図したとおりには描画されないと思います。
おそらく点が描画されるのではないでしょうか。
25~29行目、これは1本の細い線が描画されるだけかと。
さらにループ中にonclickの割り込み発生した場合、ネストが深くなるような・・・



コウノトリ

リンク

2016/8/18(Thu) 17:32:18|NO.76635

回答ありがとうございます、一応コンパイルエラーは無し、実行してもちゃんとマウスの軌道に線が描画されます。
ただただなぜかlinewidthが機能しないのですよね、、、
ちなみにこのソースはHSP命令リファレンスのソースをアレンジしたものです。



コウノトリ

リンク

2016/8/18(Thu) 17:37:58|NO.76636

16行目の line mousex, mousey, mfx, mfy と 17行目の if文の間に
mes linewidhth
stop
を挟んで確認したところ、linewidthの値はちゃんと取得されていることが分かりました。



コウノトリ

リンク

2016/8/18(Thu) 17:57:19|NO.76638

>No.76636
mes linewidthです
手書きなので誤字りました汗



コウノトリ

リンク

2016/8/18(Thu) 18:22:41|NO.76639

一応この線の太さが変えられない問題に関しては自己解決できました、お騒がせしました。
if文の位置が間違っていました。また、色々と修正しました。



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