●●●●TCL/TKなら俺に聞け 2●●●●at TECH
●●●●TCL/TKなら俺に聞け 2●●●● - 暇つぶし2ch821:デフォルトの名無しさん
11/12/02 21:14:48.05
>>819
なぜテストしなかったの?
コードを走らせてみれば一目瞭然なのに。
少なくとも俺の環境では>>816-817の言う通りになったけど。
で、>>811>>814のようにループで処理するとなめらかに動くのは
なぜか適度にKeyReleaseが無視されているからだとわかった。
それを確認するには下の2つのコードを動かしてみればいい。
ループがあるとほとんどグリーンの円のみが現れるが、
ループが無いとグリーンとレッドの円が交互に現れる。

# ループを通した例
wm geometry . 500x500
canvas .c -bg white
pack .c -expand 1 -fill both
bind . <KeyPress-a> {.c create oval 0 245 10 255 -fill green -tags en}
bind . <KeyRelease-a> {.c create oval 0 245 10 255 -fill red -tags en}

proc main {} {
.c move en 3 0
update
after 10 main
}
main

#ループ無し
wm geometry . 500x500
canvas .c -bg white
pack .c -expand 1 -fill both
bind . <KeyPress-a> {.c create oval 0 245 10 255 -fill green -tags en; .c move en 3 0; puts 0}
bind . <KeyRelease-a> {.c create oval 0 245 10 255 -fill red -tags en;.c move en 3 0; puts 1}


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch