<   2005年 11月 ( 27 )   > この月の画像一覧

2005年 11月 30日
ポルポルポル

                            これを書く前に言っておくッ!
                    おれは今ある人物の発言をほんのちょっぴりだが拝聴した
                  い…いや…拝聴したというよりはまったく理解を超えていたのだが……
         ,. -‐'''''""¨¨¨ヽ
         (.___,,,... -ァァフ|          あ…ありのまま 今 起こった事を話すぜ!
          |i i|    }! }} //|
         |l、{   j} /,,ィ//|       『おれは男としてこれまで生きてきた…
        i|:!ヾ、_ノ/ u {:}//ヘ        と思ってたが、いつのまにか女にされかけた』
        |リ u' }  ,ノ _,!V,ハ |
       /´fト、_{ル{,ィ'eラ , タ人        な… 何を言ってるのか わからねーと思うが
     /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ        おれも何を言われたのかわからなかった
    ,゙  / )ヽ iLレ  u' | | ヾlトハ〉
     |/_/  ハ !ニ⊇ '/:}  V:::::ヽ        頭がどうにかなりそうだった…
    // 二二二7'T'' /u' __ /:::::::/`ヽ
   /'´r -―一ァ‐゙T´ '"´ /::::/-‐  \    女装だとかビジュアルメイクだとか
   / //   广¨´  /'   /:::::/´ ̄`ヽ ⌒ヽ    そんなチャチなもんじゃあ 断じてねえ
  ノ ' /  ノ:::::`ー-、___/::::://       ヽ  }
_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::...       イ  もっと恐ろしいものの片鱗を味わったぜ…


---------------------

※上は唐突に「性転換手術したら?」と言われた、僕の心情。
[PR]

by riza_59 | 2005-11-30 22:00 | 日常・雑文
2005年 11月 29日
Flashの仕様?
今回のブツを公開するに当たって、一番頭を悩まされたのが、
「命令が2回実行されるバグ」でした。
それについて、問題と対策を少し書いてみようかと思います。
同じような悩みを持ってる方がいるかどうか謎ですが、
とりあえず、自己満足の意味もこめて書きます。

---------------------

まず、僕が書いたソースの一部を簡略化して載せてみます。


// 何かキーが押されたとき
onClipEvent (keyDown){

 // 上カーソル(↑)キーが押されたとき
 if (Key.isDown(Key.UP)) {

   ※カーソルを上に移動する処理

 }
 // 下カーソル(↓)キーが押されたとき
 else if (Key.isDown(Key.DOWN)) {

   ※カーソルを下に移動する処理

 }

 ・
 ・
 ・
}



これで↑↓を押すと、カーソルが上下に動きます。
普通に操作する上ではこれで問題ないのですが、
ある条件を満たすと、挙動がおかしくなってしまうようなのです。

とりあえず、このバグの特徴は、
「命令が2回実行されてしまう」
ことです。だから、上で書いた命令でも意図しない形でカーソルが2つ進んでしまいます。

発生させる為の条件としては、
上のようなソースを書いた後に、上のif文で定義しているキーを押した後、
すぐに、上のif文で定義していないキーを押すことです。
上では、↑と↓しか定義していないので、いくらでもバリエーションはあります。

例を一部挙げれば「↑←」「↓→」「↑A」「↓H」など。
最初に「↑」か「↓」を押して、次に「↑」か「↓」以外を押すと発生します。
ただ、一定以上の間隔を置くと、発生しません(連打しなければ発生しない)
とはいえ、かなりの確率です。

上の命令を忠実に実行すると、「↑←」とキーを叩いた時、
まず、

// 何かキーが押されたとき
onClipEvent (keyDown){
  ※中身
}

この部分は、2回キーを叩いているので、この中身の内容が2回実行される。問題ないです。

 // 上カーソル(↑)キーが押されたとき
 if (Key.isDown(Key.UP)) {
   ※カーソルを上へ移動する処理
 }

次に「↑」は上のif文で真なので、カーソルを上に1つ移動する。これも問題ないです。
が、その次の「←」を押したときもこのif文が真になってしまうのです、何故か。
当然、「←」に限らず、「→」でも「U」でも「R」でも同じように2回if文の中を通ってしまい、
カーソルが2回移動してしまう。理由はいまだに不明(´・ω・`)

スペースキーなどの実行ボタンでこのバグが発生すると、
場合によっては数値が破壊されたりもしました。
能力強化画面で永遠に能力上げ続けられたり(汗)

ちなみに、

// ↑キー以外を押したとき
if ( ! Key.isDown(Key.UP)) {
   // 何もしない
}
// ↑キー以外を押してないとき(↑キーを押したとき)
else {
   ※カーソルを上へ移動する処理
}

という書き方をしても無駄でした。
どうしても、2回命令が通ってしまう。

で、対策なのですが、別の角度から改善してみました。
タイピングゲームなどを作る時に全部のキーをif文で1つずつ制御してたらどうでしょう?
「なんてタイピングゲームを作るのは大変なんだろう…(´・ω・`)」となります。多分。

当然、別の方法があります。
キーボードを叩いた時に、キーコードを取得できます。
ここのキーコード一覧表を見ると、ほぼ全てのキーに数値が割り当てられてる事がわかるかと思います。
正直、このページには何度も助けられています。おすすめすよ。

そういうわけで、実践です。
何かキーを叩いたときに実行される命令の中の一番上で、キーコードを取得するようにします。
具体的に書くとこうです。

onClipEvent (keyDown) {

 // どのキーが押されたかを調べる
 KEYCODE = Key.getCode();

 ・
 ・
 ・
}

変数「KEYCODE」にキーコードの値を代入しました。
「↑」を押したら「38」、「↓」を押したら「40」が入ってる筈です。
で、さっきのなんでもかんでも通してしまうif文も修正。

 // ↑が押されていて、かつ、キーコードが38(↑のキーコード)であるとき
 if (Key.isDown(Key.UP) && KEYCODE == 38) {
   ※カーソルを上に移動する処理
 }

こうすることで、「↑←」と入力した時も、「↑」だけif文が通るようになりました。
当然、今公開してるバージョンでは修正済みです(ぉ)

そんな訳で、無駄に長くなって、寝る時間も相当削られた気がするんですが、
なんとか自己満足できたと思います。
これを見て、問題が解決する人はそうそういないと思うんですが、
なんらかの解決のきっかけにでもなれば幸いです。

プレイヤーが操作しやすい環境を作るのって、大変ですね。
まあ、キーカスタマイズできるようにすれば、
それぞれ、好みに合った環境は各々に作ればいいのですが(ぉ)
キーカスタマイズについても上に挙げたページで書いてます。ホントにオススメ。

やっぱり、開発者が苦労して作ったからわかってもらいたい部分って、
細かすぎる所だったりとかして、プレイヤーには伝わらなかったりはするんじゃないかなぁと。
そして、それはプレイヤーに伝わらなくて当然で…(細か過ぎるから)

難しいですね。
[PR]

by riza_59 | 2005-11-29 22:30 | Flash
2005年 11月 28日
さて
免許証を紛失したわけだが。
特に困ってない。
[PR]

by riza_59 | 2005-11-28 22:47 | 日常・雑文
2005年 11月 28日
引越し後
部屋が四畳半。
[PR]

by riza_59 | 2005-11-28 20:25 | 日常・雑文
2005年 11月 27日
帰還
なんとかネット繋がりました。
とりあえず、報告までに。
[PR]

by riza_59 | 2005-11-27 16:59 | 日常・雑文
2005年 11月 26日
キャプテソ翼Flash ~MEETING編~
遅くなりました。
もうすぐ家を出るので、詳細は後ほど。
帰ったときに(引越しの影響で)ネット回線がぶった切られてる時は、
早くても日曜日まで反応できないかもです…。

とりあえず、不具合等いろいろあるかもしれませんが、どうぞ。
もうテクモ版翼の復活なんて待ってられないんだよ!


キャプテソ翼Flash ~MEETING編~

※MEETING画面しかありません。試合はできません。
多大な期待は、大きな落胆を生むので、ほどほどにしておきましょう。
納得いかない人はテクモ版の復活を待ちましょう(ぉ)

[PR]

by riza_59 | 2005-11-26 10:00 | Flash
2005年 11月 25日
アウツ
家に着いたらタモリ倶楽部が放映されてる不思議。
今日もお仕事頑張ったね。

※先日行われた体操世界大会をNHK?でやってたけど、
表彰式しか見れず残念無念。
[PR]

by riza_59 | 2005-11-25 01:14 | 日常・雑文
2005年 11月 23日
部屋の片付け
終わりません。休みがないんだもの。作業ができないってばよ。
今週末も引越しやら何やらで忙しいし、第一、仕事がそれまでに終わってるかがわからない。
今日は昼休みを返上したのもあって、早く帰ることに成功しましたが…
…明日、明後日が同じように帰られるかはわからない。

楽しい事がないです。
相変わらず、反町隆史が何を言ってるのかわかりません。滑舌の問題です。
おおおおにいいいいいわぁあああああああぁぁぁ!!と叫んでると思ったらオンリーワンです。
どう聞いてもお庭です。
本当にありがとうございました

※今のスカイマックスのCMも商品名見ないと何を叫んでるのかサッパリでした。
ポルノグラフィティの岡野昭仁氏にでも教えを乞えばいいと思います。

※やけに部屋が寒いと思ったら窓が開いてました。アホや。

[PR]

by riza_59 | 2005-11-23 22:30 | 日常・雑文
2005年 11月 23日
眠い
勤労感謝の日に感謝されてないっぽ。あと8時間もすれば出社です。
えーと、携帯から更新した日記のタイトルに、何故か「.co.jp」が付いている件。
多分、記号ボタンに手が当たって勢いでそうなったけど、気付かずにそのまま送信して
終了みたいな流れだと思います。

えーと、Flashですが、今週末アップしたいです。金曜日か土曜日。
日曜日までにアップしてなかったら、ちょっと難しいです。おそらく引越ししてるので。
またネットの設定とかしないとなので時間かかりそうですし。

とりあえず、FlashはJoyToKeyが利用できることがわかりました。
公開するFlashも、一応、パッドで操作する事も可能です。
そっちの方が感覚的にもいいかもしれません(謎)

もう少し手直しする部分もあるので、
時間がある限り完成度を高めようと思います。
[PR]

by riza_59 | 2005-11-23 00:56 | 日常・雑文
2005年 11月 22日
おはようございます.co.jp
今週は帰宅が全部22時以降の予感。
既に体力の限界千代の富士。
[PR]

by riza_59 | 2005-11-22 07:43 | 日常・雑文