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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0810
Mituki (投稿者削除)5解決


Mituki

リンク

2015/8/10(Mon) 17:56:52|NO.70589

この記事は投稿者により削除されました。
2015/8/13(Thu) 00:56:56



この記事に返信する


スペース

リンク

2015/8/10(Mon) 18:04:20|NO.70592

if m>=100 :km+1としてしまうと、mが100を1度超えたら、何度もkm+1されてしまいます。
移動キーを押していない時に表示する方法ですが、なぜキーを押していないと表示されていないかを考えてみてください。



空気

リンク

2015/8/10(Mon) 20:48:47|NO.70595

こんな感じのプログラムで実現出来ますよ。
Waitが何故2つあるのかというと、
getkey key,39
wait 10;←ここの時点でキーが押されても反応しない、     ;この時点だとキーが押されてからカウントするのに0.1秒待たされる
それにより、連打した場合に連打しにくいという事が起こります。
例えば、
if key=1{
}
中(内)のwaitを消して、loop上のwait 0をwait 10にした場合、
連打した時の数字の上昇速度が遅く感じると思います。(連打しにくい。)

ちなみにloop上のwait 0を消すとこのソフトがフリーズします。

;===ソースは下記===
repeat
getkey key,39;[→]キーが押されたらKeyに1が入る if key=1{ m++;mに1を足す。m+1と同じです。 if m>=0 && m\100=0 : km++ ;mが0より大きく、mが100で割り切れる時にkmに1を足す wait 10;約0.1秒待つ redraw 2 color 255,255,255:boxf;画面クリア pos 0,0 : color 0,0,0 mes str(m)+"m";""+m+"m"と同じです。 mes str(km)+"";""+km+""と同じです。 redraw 1 } if cnt=0{ ;ループ回数が0回目の時のみ描画する redraw 2 pos 0,0 : color 0,0,0 mes str(m)+"m";""+m+"m"と同じです。 mes str(km)+"";""+km+""と同じです。 redraw 1 } wait 0;フリーズ防止の最短時間のWait loop



玄冬

リンク

2015/8/10(Mon) 22:55:52|NO.70599

数値が100分の1になっているんだから100で割れば良いだけ
	mes "0m"
mes "0" repeat getkey key, 39 if key { m++ km = m / 100 redraw 2 color 255, 255, 255 : boxf pos 0,0 : color 0,0,0 mes "" + m + "m" mes "" + km + "" redraw 1 } wait 0 loop
ところで現実の1kmは100mではなく1000mですが、ご存知ですよね。



KA

リンク

2015/8/16(Sun) 10:22:07|NO.70794

で、この質問は解決したの?



Mituki

リンク

2015/8/17(Mon) 00:43:27|NO.70825

yeaそう



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