gal11

自力プログラムでジャンプ機能を実現するのは結構面倒くさいのですが、今回は防衛軍が用意したジャンプ機能を使って簡単にジャンプを実現する実験です。

実行すると…

プログラム内容は、コレだっ!

//
//	<< ex05.js >>
//	魔女っ子ニャンコ研究所
//	2015.01.10
//
///////////////////////////////////////////////////

///////////////////////////////////////////////////
// ゲーム定数
const PLY = 0;
const SPRMAX = 1;

///////////////////////////////////////////////////
// 画像番号定数
const IMG_WALK = 0;
const IMG_CHAK = 1;

///////////////////////////////////////////////////
// ユーザー変数

///////////////////////////////////////////////////
// 読込み画像の定義
var manifest = [
	{id:"walk", src:"../wp-content/myImg/nyan/gal_walk.png"},
	{id:"chak", src:"../wp-content/myImg/nyan/gal_chak.png"},
];

///////////////////////////////////////////////////
// ゲーム初期化
function initGame()
{
	// 画像の読み込み
	loadImg(IMG_WALK, "walk");
	loadImg(IMG_CHAK, "chak");

	// 画像番号の設定
	setImg(PLY, IMG_WALK);

	// プレイヤーの初期化
	scal[PLY] = 0.8;
	xpos[PLY] = cxsiz/2;
	ypos[PLY] = cysiz - ysiz[PLY];
	smod[PLY] = 1;
}

///////////////////////////////////////////////////
// ゲーム実行
function execGame()
{
	// 着地状態
	if (smod[PLY] == 1) {
		if (fjmp[PLY] == 0) {
			setImg(PLY, IMG_CHAK);
			smod[PLY] = 2;
			tim0[PLY] = 5;
		}
	}
	// ジャンプ開始
	else if (smod[PLY] == 2) {
		tim0[PLY]--;
		if (tim0[PLY] == 0) {
			setImg(PLY, IMG_WALK);
			sjmp[PLY] = -25;
			grab[PLY] = +2;
			ybas[PLY] = ypos[PLY];
			ypos[PLY] -= 1;
			fjmp[PLY] = 1;
			smod[PLY] = 1;
		}
	}
}