『 その10-1 』
■ フィリピンの言葉 「フィリピンにいくつぐらい言語がある?」 「知らん」 ということで、フィリピン人にも多すぎて数がわからないそうである。 そんな事情もあってか、フィリピンではほとんどの人が英会話ができる。学校での英語の教育は実践力をつけるという目的で行われるため、高校を卒業するころまでに十分な英会話力が身につく。ところで、フィリピンには中学校はない。小学校を卒業すると次は4年間の高校になる。 どこかの国のように、高い学費や教材費を払って習いに行ってもさっぱり実践力が身につかない状況とは大違いである。 ところが、やはりフィリピンは英語がネイティブではない。だからおかしな表現がたくさんある。それでもちゃんと意味が通じるわけだから、英文法というのはあまり重要でないのだとつくづく思う。例えば… I'll be late, because very traffic. You angry me. なのである。文法的には I'll be late, because the traffic is very heavy. You are angry at me. のはずである。上の英語でも十分に意味が通じる。私の場合は日本で英語教育を受けているわけだから、一般的なフィリピン人と比べて文法には滅法強い。しかし、単語力や聞き取り力が不足している。いくら文法を知っていても、単語を知らなければうまく表現できないし、相手が何を言っているのかわからなければ会話は成立しない。英会話もプログラミング同様多少デタラメな方が良いのかもしれない。 | |||
■ キースキャン ブロックはキーボードで操作する。ということはキーが押された状態を受け取らなくてはならない。イベントはKeyDownを使えば使えば良いのだが、どのコントロールのKeyDownを使えば良いのであろうか。このイベントは現在フォーカスを持っているコントロール上でしか発生しない。そこで、フォームのプロパティーを見てほしい。KeyPreviewというのがある。値はFalseになっている。これをTrueにすると、他のコントロールでKeyDownイベントが発生するよりも優先してForm/KeyDownが発生することになっている。 これで全てがうまくいくかというと、あまいのである。コントロールのフォーカスというのは矢印キーや[Tab]キーで移すことができる。 例えばゲームをスタートさせるために、[Start]ボタンをクリックする。ということはゲームが始まった時点ではCom_Startというコントロールがフォーカスを持っていることになる。
こうなった状態で矢印キーを押すと、TabIndexで指定された順番に従ってフォーカスが移る。キーボード派にとっては便利な機能だが、ゲームでは大変迷惑な機能である。それらの迷惑に対処するために2つのことが必要になる
2) Junctionモードの時には必要のないコントロールをDisableにしておく。 | |||
■ フォーカスを移す Com_Start_Clickのコードを表示してその最後の方に以下のコードを追加する。 これで、イニシャライズと最初の表示が終わった後で、ピクチャーボックスにフォーカスが移動する。 |
その 10 -1 |
その 10-2 |
その 10-3 |
その 10-4 |
その 10-5 |
その 10-6 |
その 10-7
『 サルのゲーム製作講座 』
目次 |
その 1 |
その 2 |
その 3 |
その 4 |
その 5 |
その 6 |
その 7 |
その 8 |
その 9 |
その 10
e-mail: sc_3da@magical2.egg.or.jp