this.terrain = new jaws.Sprite({ x: 0, y: 0, image: this.currentLevel.terrainImage, scale_image: 6 });
var rawTerrain = this.terrain.asCanvasContext();
this.rawPixelData = rawTerrain.getImageData(0, 0, this.terrain.width, this.terrain.height).data;
これは、HTML5 ゲームで新しいマップを作成するコードです。私は.pngマップを使用しています。また、衝突などのマップを読み取ることができるように、生のピクセル データを抽出します。
手榴弾を実装したかったのですが、これらの手榴弾は実際にマップを変更します。.png を変更できません。別の種類のマップの読み込みに移行せずにこれを行うにはどうすればよいですか (.png マップを使用し続けたい)。
私の考えは、生のピクセルデータを操作して(非常に実行可能)、それを描画することでしたが、どうすればそれができるかわかりません。生のピクセル データを .png に変換してから描画できますか?
Javascript で libpng を探したところ、pnglets が見つかりましたが、png の再作成には時間がかかり、ゲームがかなりフリーズするだけだと思います。
何か案は?前もって感謝します。