puis-je

不惑すら遥か彼方。

Scratch - 矢印キーで左右に動かす

アカウントを作り、「SCRATCHではじめよう!プログラミング入門」のシューティングゲーム作成の手順に従って、自機を左右に動かすスクリプトを作ってみる。使用する画像は下記の書籍詳細ページからダウンロード。

ec.nikkeibp.co.jp

左右に動かす方法で、左向きについては

左向き矢印キーが押されたとき、−5歩動かす

という書き方をして、右向きについては

ずっと(もし右向き矢印キーが押されたら、5歩動かす)

という書き方にした場合の、動きのスムーズさの違い。

f:id:puis-je:20170507131046j:plain f:id:puis-je:20170507131353g:plain

キャプチャの段階で少しカクカクになっているけれど、なるほど確かに右向きと左向きでは動きのスムーズさが違う。

これは、キーを押し続けたときに文字が入力される間隔(キーリピートともいいます)が、一定の値以上に設定されているからです。(p.32) 

常に繰り返してキーの状態を調べるように変更することで、32ページで説明したキーリピートの設定値より細かい間隔でキーが押されているかを判定できるようになったからです。(p.34)

言われてみれば、なるほどそれはそうだ、と思うのだけれど、旧式文系脳(私を含む)にとってはこのへんが一つのポイントかもしれない。同じ結果を求めていても、そこにたどり着く道順が異なっていたり、見かけ上は同じであってもその裏側は違っていたりする。いくつかのやり方を試してみて、それぞれの違いについてその理由を考えてみたり、どのやり方が適切なのかを見極めたりする。そうした作業は日常生活の上でも、結構な頻度で求められているように思うし、そうした習慣が早いうちに身に付いていればそれに越したことはない。

こちらの記事にある「解を試行錯誤的に求める」という表現、それを日常のいろんな場面にあてはめてみて考えると、また違ったものが見えてくるように思えて面白い。

itpro.nikkeibp.co.jp