jQuery Mobileを試した記録
2012 年 7 月 24 日 by 山平過去に弊社fujiiがjQueryMobileの紹介記事を書いています。
先日やっと試すことができたので、記録しておきます。
PC向けサイトでjQueryに慣れているけど、jQueryMobileは初めて使う、と言う人は以下の点に注意して利用されることをおすすめします。
過去に弊社fujiiがjQueryMobileの紹介記事を書いています。
先日やっと試すことができたので、記録しておきます。
PC向けサイトでjQueryに慣れているけど、jQueryMobileは初めて使う、と言う人は以下の点に注意して利用されることをおすすめします。
ゲームに欠かせない処理に当たり判定があります。
当たり判定は大きく分けて「プレイヤーキャラクタと敵キャラクタ(動くもの同士)の当たり判定」と「キャラクタと壁(動くものと動かないもの)の当たり判定」の2通りあります。
当たっているかどうかを調べると言う意味ではどちらも同じなのですが、当たった後の処理に違いがあります。
キャラクタ同士の場合、何と何が当たったかで処理が変わるため、処理(仕様)を決めておく必要があります。
キャラクタと壁の場合、当たった後の処理で座標を修正するのはキャラクタなのであまり難しく考える必要がありません。
前編ではキャラクタ同士の当たり判定について考えてみます。
データベースのインデックスを張る際によく「性別」に付けても意味が無いと言われたりしますが、実際の所どうなのでしょうか?(SQL Serverで)試してみました。
で。結論から言うと遅くなります。(というか使用されません) ただし…
今回は『選択範囲のテキストを削除』をご紹介しようと思います。
ビジュアルモード中に”d”を押すことで選択範囲のテキストを削除する事ができます。
以下の様なテキストがあったとします。
下記の文章から3行ほど削除したい場合、vi使いの方なら、該当行にカーソルを移動し、「3dd」と入力します。
数回に渡ってenchant.jsとゲームについて、周辺の話を進めてきましたので、そろそろ本題に入ります。
enchant.jsにサンプルとして同梱されているアクションゲームのソースを眺めながら、少し手を入れてみます。
ちょっと乱暴な言い方ですが、業務アプリと違ってゲームが保持する情報の多くがあまり本質的ではないものだったりします。
例えばアニメーション制御やエフェクトのためのオブジェクトがそれにあたります。
要はズバババ~ンって感じにキャラクターなどを表示するために色んな情報を扱う必要があり、結構面倒くさかったりします。
今回はそういった細々とした情報を扱う際の数字遊びを紹介します。
enchant.jsでゲームを作ることを想定しているのでjavascriptで書きますが、基本的には言語を問いません。
ゲーム作りに欠かせないのが画像です。
自分で作るのは大変な労力がかかりますが、世の中には高品質な素材がたくさん提供されています。
ライセンスに注意して有効に活用したいものです。
ほとんどの素材はそれぞれの用途を想定した形で配布されていますが、必ずしも自分の思った通りに配布されているものでもありません。
今回はGIMPを使ってそんな素材のうちドット絵を自分の用途に合わせて加工する方法を紹介します。
※使用と加工の際には配布元のライセンスにご注意ください!
※サンプル画像としてenchant.jsに同梱されているものを利用しています。
今回はJavascript+HTML5で簡単にゲームが作れるenchant.jsを紹介します。
少し触ってみましたが、シンプルさとJavascriptの柔軟性、妥当なフレームワーク構成でちょっとしたゲームならすぐに作れます。
凝ったゲームを作る場合のクラス拡張がとても簡単で、設計にセンスを感じます。
コーディングを行なっている際に次のような経験はないでしょうか?
・ちょっと前にも同じようなことを記述した記憶がある。
・似たような機能(画面)が既に存在したので、コピー&ペーストでコードを複製した。
・コードの中にコメントを記載しないと意味が解らない変数やマジックナンバーが沢山ある。
・バグが入り込んだ際に、原因の特定に時間を要する(修正が困難)又は、途中でトレースするのが嫌になった。
・仕様変更による影響が多岐に及び、対応/評価に莫大な時間を要した。
この様な経験があれば、リファクタリングが必要なのかもしれません。
リファクタリングとは機能を変更することなく、コードの組み換え等を行い仕様変更への耐性、保守性の向上を行う技術です。
この技術の根本には、仕様というのは変動的であり、多くの場合に漏れ(抜け)があるという考えのもと行われます。
例えば、同様のコードが見つかった際に、共通化する小さな努力を怠ったり複製を行うと、修正が発生した場合に対象が多岐に及ぶことは避けられません。