div要素とスタイルシートを組み合わせてImageオブジェクトっぽいものを作ってみた。
とりあえずコードを晒しとく。パブリックドメインでおk。
なんとなくなんでもかんでもDOMで済ませたいという考えが根底にあった。が、それ以外にも一応利点はある。
利点があれば欠点もあるわけで、
といった感じ。JavaScriptでゲームを作ろう、といった状況を想定して作ったものなんでやや用途を選ぶかも。
imgobj.jsを読み込む→コンストラクタでオブジェクト生成→メソッド実行というのがおおよその使い方。コンストラクタやメソッドの詳細は後述。
<script type="text/javascript" src="imgobj.js"></script>の記述をhead要素内なりなんなりにしておく。
var img = new createImage("test.png",100,100);//オブジェクト生成。画像表示枠は100x100ピクセル img.setX(50);//メソッド実行。ここではX方向に50ピクセル動かしている。
この擬似Imageオブジェクトならこういうことができるぜ、という一例を示しておく
var img1 = new createImage("test2.png",50,50);//オブジェクト生成。 var img2 = new createImage("test2.png",50,50);//オブジェクト生成。 img2.setX(50);//img2をX方向に50ピクセルずらす。 img2.setY(50);//img2をY方向に50ピクセルずらす。 img2.setOffsetX(50);//img2のオフセットをX方向に50ピクセルずらす。
参照する画像は同じでもオフセットをずらすことで画像ファイルの違う位置の画像を表示している。これを使えば複数の画像を一つの画像ファイルにまとめられる。画像のロード回数減らせるし画像ファイルの管理が楽になるし・・・とまぁ利点がある。
基本的にプロパティはprivate変数にしているのでプロパティ変更はset〜()で行う。
とりあえず用意してみた、という程度のもの。今後拡張するかもしれない。消滅するかもしれない。