MasaoJSS使用方法まとめ

ここではJS版まさおコンストラクションで使用できる拡張JavaScriptの使用法と、原作との挙動の違いについてまとめます。

目次

使用方法

まさおコンストラクションに必要なJSファイルを読み込み、!ReadMe.txtに記載した方法で既存のアプレットを置換するか、新規にゲームを作成します。
その際、引数の最後にオプションオブジェクトを追加し、そのオブジェクトのuserJSCallbackメンバにuserJS関数を登録します。

<!-- 使用例1 原作のuserJSを使用する場合 -->
<script type="text/javascript" src="CanvasMasao.js"></script>
<script type="text/javascript">
new CanvasMasao.Game(
	{
		"map0-0" : "............................................................",
		(パラメータ群を記述)
	}, "hoge", { userJSCallback : userJS }
);

function userJS(Offscreen_g, mode, view_x, view_y, ap)
{
	(挙動を記述)
}
</script>
<!-- 使用例2 無名関数を使用する場合 -->
<script type="text/javascript" src="CanvasMasao.js"></script>
<script type="text/javascript">
new CanvasMasao.Game(
	{
		"map0-0" : "............................................................",
		(パラメータ群)
	}, "hoge",
	{
		userJSCallback : function (Offscreen_g, mode, view_x, view_y, ap)
		{
			(挙動)
		}
	}
);
</script>
<!-- 使用例3 クロージャを使用する場合 -->
<script type="text/javascript" src="CanvasMasao.js"></script>
<script type="text/javascript">
new CanvasMasao.Game(
	{
		"map0-0" : "............................................................",
		(パラメータ群)
	}, "hoge",
	{ 
		userJSCallback : (function ()
		{
			// 変数や関数の定義はこの中で行う
			var x, y;

			// コールバック関数を返す(渡す)
			return function (Offscreen_g, mode, view_x, view_y, ap)
			{
				(挙動)
			}
		})()
	}
);
</script>

挙動の記述についてですが、原作と大きく異なるのは、Applet1 = document.getElementById("hoge");と記述してもアプレットを取得できないことです。そこで、userJSCallbackメンバに登録した関数の第5引数に、アプレットにあたるオブジェクトを渡しています。原作のソースを引き継ぐ場合は注意してください。この第5引数から、各種メソッドを呼び出すことができます。

/* 使用例1 初回起動時に、アプレットオブジェクトをグローバルに格納して参照する(原作での主な使用法) */
(前略)
var init_f = false;
var Applet1 = null;
function userJS(Offscreen_g, mode, view_x, view_y, ap)
{
	if(!init_f) Applet1 = ap;
	……
}
function userGameJS(Offscreen_g, view_x, view_y)
{
	Applet1.addScore(100);
}

上の使用例1は、原作で主に使用されていた、アプレットをグローバルに格納して参照する方式で、非同期でもメソッドを使用できました。しかし、グローバルから参照するゆえに、外部からのスクリプト実行で変数値を変更したり、アプレットのメソッドを呼び出したりできます。これではスコアランキングに支障が出るため、かわりにクロージャを使用することをおすすめします。

/* 使用例2 クロージャを使用し、スコアランキングに支障が出にくくなるように設計する(推奨)*/
new CanvasMasao.Game(
	{
		"map0-0" : "............................................................",
		(パラメータ群)
	}, "hoge",
	{
		userJSCallback : (function ()
		{
			// 変数や関数の定義はこの中で行う
			var x, y;

			// コールバック関数を返す(渡す)
			return function (Offscreen_g, mode, view_x, view_y, ap)
			{
				ap.addScore(100);
				……
			}
		})(),
		highscoreCallback : function (score)
		{
			(ハイスコアイベント時の処理)
		}
	}
);

コールバック関数の引数について

userJSCallbackに登録した関数は、5個の引数を伴って呼び出されます。5つの引数の性質は以下の通りです。

名前(通称)概要
Offscreen_gオブジェクト(Graphics) java.awt.Graphicsを模倣したオブジェクトです。このオブジェクトのメソッドを呼び出してオフスクリーンに描画処理を施します。
mode数値 現在のゲームモードを表します。
view_x数値 ゲーム全体の左上端を原点としたときの、画面左上端のX座標です。
view_y数値 ゲーム全体の左上端を原点としたときの、画面左上端のY座標です。
apオブジェクト(MasaoJSS : Applet) 原作のアプレットを模倣したオブジェクトです。まさおの内部の動作を、このオブジェクトのメソッドを使って制御します。

第5引数(ap)で使用できるメソッド一覧

ここではJS版のMasaoJSSで使用できるメソッドをまとめます。
※引数の[ ]で囲まれた部分は省略できます。その場合は省略時の動作をします。

ゲームシステム

名前引数戻り値の型説明
getMode数値 現在のゲームモードを返します。コールバック関数の第2引数にセットされた値と同じ値が返ります。
getHighscore数値 現在のハイスコアを返します。
getScore数値 現在のスコアを返します。
addScorescore真偽値 引数scoreの値だけスコアを増加します。引数に負の値が代入されると失敗します。
setScorescore真偽値 スコアをscoreに設定します。
getValuename文字列 パラメータnameの値を取得します。
getParamValuename文字列 getValue(name)と同じです。
setValuename, value真偽値 パラメータnameの値をvalueに設定します(値によっては再起動しないと動作しないことがあります)。
setParamValuename, value真偽値 setValue(name, value)と同じです。
getJSMes数値
setJSMesn真偽値
restart真偽値 現在のパラメータを保持した状態でゲームを再起動します。
setTitleLock真偽値 ユーザーによるゲーム開始をできないようにします。
startGame真偽値 タイトル画面にいる場合、ゲームを開始します。
setModeWaitmode, t真偽値 指定モードmodeでの待ち時間をtフレームに設定します。
getCoinCount[x1, y1, x2, y2]数値 左上端の座標(x1, y1)、右下端の座標(x2, y2)を指定して、その範囲にあるコインの枚数を取得します。引数を省略した場合はマップ全体にあるコインの枚数を取得します。
getTimeLimit数値 現在の制限時間(画面に表示している値)を取得します。
setTimeLimittime真偽値 現在の制限時間(画面に表示される値)をtimeに設定します。
setMyLeftnum真偽値 残り人数(ミスできる回数)をnumに設定します。
getMyLeft数値 残り人数を取得します。

スクロール制御

名前引数戻り値の型説明
getViewX数値 現在の画面左上端のX座標を、ブロック単位で取得します。
getViewY数値 現在の画面左上端のY座標を、ブロック単位で取得します。
getViewXReal数値 現在の画面左上端のX座標を、ピクセル単位で取得します。コールバック関数の第3引数にセットされた値と同じ値が返ります。
getViewYReal数値 現在の画面左上端のY座標を、ピクセル単位で取得します。コールバック関数の第4引数にセットされた値と同じ値が返ります。
setScrollLockx真偽値 画面X座標がxに来たらスクロールをロックします。
setScrollAreax1, y1, x2, y2真偽値 スクロール可能な範囲(x1, y1)~(x2, y2)をブロック単位で設定します。
setScrollAreaRealx1, y1, x2, y2真偽値 スクロール可能な範囲(x1, y1)~(x2, y2)をピクセル単位で設定します。

画像読み込み・チップ生成

名前引数戻り値の型説明
newImageOnLoadfilename画像 filenameで指定した画像ファイルを読み込みます。そして、読み込んだ画像のオブジェクトを返します。このオブジェクトは、一部のメソッドの引数として使用することができます。
newChipImagefilename, width, height, nx, ny数値 画像ファイルfilenameを読み込んでチップ画像に分割します。widthは1チップの幅、heightは高さ、nxは横に並ぶチップ数、nyは縦に並ぶチップ数です。戻り値はチップ画像へのIDです。
makeReverseChipImagechipID真偽値 chipIDのチップの、左右反転、上下反転、180度回転した画像を生成します。
getChipImagechipID [, index [, n]]画像 chipIDの部分チップ画像を取得します。indexは分割画像の、最初を0番目としたインデックス、nは画像の反転を表し、0は元画像と同じ、1は左右反転、2は上下反転、3は180度回転した画像です。
disposeChipImagechipID真偽値 生成したチップ画像を削除します。

基本表示設定

名前引数戻り値の型説明
setBackImagefilename真偽値 背景画像を変更します。
setSecondImagefilename真偽値 セカンド画像を変更します。
setSystemImagen, filename真偽値 ゲーム中で使われている画像を設定します。
setSystemDrawModen真偽値 MasaoJSS側が描画するオブジェクトを制限します。nに1を指定するとすべての物体を描画します。また、2を指定すると主人公を、3を指定すると主人公と敵を、4を指定するとすべての物体(得点の文字なども含めたすべて)を描画しなくなります。
drawSystemObjectn真偽値 JavaScript側から、物体を描画させるよう指示します。nは描画するオブジェクトの種類で、1は主人公、2は敵、3は得点と一言メッセージ、4は背景画像/背景色、5は背景レイヤーのマップ、6は標準レイヤーのマップ、7は動く床などの仕掛けです。
setSystemPatterndestCode, newCode真偽値 指定したパターンコードdestCodeの画像に、他のパターンコードnewCodeの画像を上書きコピーします。この設定はページを再読み込みするまで有効なので注意してください。
setSystemPatternImagedestCode, n, image真偽値 指定したパターンコードdestCodeの画像に、画像オブジェクトimageの画像を上書きコピーします。nは反転情報で、0でそのまま、1で左右反転します。この設定はページを再読み込みするまで有効なので注意してください。

主人公の位置・動き

名前引数戻り値の型説明
getMyX数値 主人公のX座標(ブロック単位)を取得します。
getMyY数値 主人公のY座標(ブロック単位)を取得します。
setMyPositionx, y真偽値 主人公の座標をブロック単位で設定します。
getMyXReal数値 主人公のX座標(ピクセル単位)を取得します。
getMyYReal数値 主人公のY座標(ピクセル単位)を取得します。
setMyXRealx真偽値 主人公のX座標(ピクセル単位)を設定します。
setMyYRealy真偽値 主人公のY座標(ピクセル単位)を設定します。
getMyVX数値 主人公のX方向の速度を取得します。
getMyVY数値 主人公のY方向の速度を取得します。
getMyDirection数値 主人公の向きを取得します。0は左向き、1は右向きです。
setMyVXvx真偽値 主人公のX方向の速度を設定します。
setMyVYvy真偽値 主人公のY方向の速度を設定します。
setMySpeedspeed真偽値 主人公の4方向・8方向移動の速さを設定します。

主人公の状態・動作・特技

名前引数戻り値の型説明
setMyMissn真偽値 主人公がミスをします。nには動きを設定します。
setMyPressn真偽値 主人公が踏む動作をします。nには動きを設定します。
showMyHPname真偽値 主人公のHPを表示します。nameにはHPの名前を設定します。
setMyMaxHPhp真偽値 ゲーム開始時の主人公のHPを設定します。
setMyHPhp真偽値 現在の主人公のHPを設定します。0を指定するとHPは0になりますが、ミスにはなりません。
getMyHP数値 現在の主人公のHPを取得します。
setMyHPDamagedamage真偽値 主人公にdamageダメージを与えます。ただし、ダメージ直後の点滅状態ではダメージを与えられません。HPが0以下になるとHPは0になりますが、ミスにはなりません。
setMyWaittime, code, direction真偽値 主人公をtimeフレームの間停止させます。codeには停止中のパターンコードを指定しますdirectionは、0で左向き、1で右向きにします。
setStageClear真偽値 ステージクリアします。
isRideGround数値 主人公が地面に乗っているか判定します。乗っているならば1を返します。
addMyTokugin真偽値 主人公に特技nを付加します。
removeMyTokugin真偽値 主人公の特技nを無効にします。
setEnemyPressn真偽値 主人公が敵を踏めるかを設定します。nに1を代入すると踏める設定、2を代入すると踏めない設定、3を代入すると当たり判定をなくす設定になります。

主人公の装備

名前引数戻り値の型説明
equipTailflag真偽値 主人公のしっぽ装備を切り替えます。flagに1を代入すると装備し、0を代入すると外します。
equipFire[flag]真偽値 主人公のファイヤーボール装備を切り替えます。flagに1を代入すると装備し、0を代入すると外します。
setFireRangerange真偽値 水平に飛ぶタイプのファイヤーボールの射程を設定します。
equipBarriertime真偽値 timeフレームの間持続するバリアを装備します。
getBarrierTime数値 バリアの残り時間を取得します。
equipJetvalue真偽値 ジェット燃料量をvalueに設定します。
setJetFuelvalue真偽値 equipJet(value)と同じです。
equipGrenadenum真偽値 グレネード所持数をnumに設定します。
setGrenadeCountnum真偽値 equipGrenade(num)と同じです。
getGrenadeCount数値 グレネードの所持数を取得します。

敵と攻撃

名前引数戻り値の型説明
setEnemycode, x, y真偽値 敵(の攻撃)を座標(x, y)(ブロック単位)に配置します。codeは敵(の攻撃)のコードを指定します。
getEnemyTotal数値 マップに配置直後の敵の数を取得します。
destroyEnemyx, y, width, height数値 指定された矩形(ピクセル単位)の範囲内にいる敵を倒します。戻り値は、倒した敵の数です。

ボス

名前引数戻り値の型説明
getBossXReal数値 ボスのX座標を取得します。
getBossYReal数値 ボスのY座標を取得します。
getBossHP数値 ボスのHPを取得します。
getBossDirection数値 ボスの向きを取得します。0は左向き、1は右向きです。
isBossAttackMode数値 ボスが攻撃中ならば1を返します。
setBossXRealx真偽値 ボスのX座標を設定します。
setBossYRealy真偽値 ボスのY座標を設定します。
setBossObjectImageimage, dx, dy真偽値 ボスの画像をimageオブジェクトに設定します。dxdyはそれぞれX座標補正値、Y座標補正値です。

各種キャラクターのパラメータ

名前引数戻り値の型説明
getMyObjectCondition数値 主人公の状態を取得します。
getMyObjectAC数値 主人公のアニメーションカウンタを取得します。
getMyObjectPattern数値 主人公のパターンコードを取得します。
getMyDirection4way数値 4方向移動の主人公の向きを取得します。
setMyObjectPatterncode真偽値 主人公の画像をパターンコードで設定します。
setMyObjectImageimage, dx, dy真偽値 主人公の画像を画像オブジェクトで設定します。設定を解除する場合はimageにnullを代入してください。dxdyはそれぞれX座標補正値、Y座標補正値です。
setEnemyObjectPatternenemyID, code真偽値 指定IDの敵の画像をパターンコードで設定します。
getEnemyObjectConditionenemyID数値 指定IDの敵の状態を取得します。
getEnemyObjectPatternenemyID数値 指定IDの敵のパターンコードを取得します。
getEnemyObjectXenemyID数値 指定IDの敵のX座標を取得します。
getEnemyObjectYenemyID数値 指定IDの敵のY座標を取得します。
getEnemyObjectLength数値 マップに配置直後の敵の数を取得します。
getEnemyObjectDirectionenemyID数値 指定IDの敵の向きを取得します。
setEnemyObjectImageenemyID, image, dx, dy真偽値 指定IDの敵の画像を画像オブジェクトで設定します。dxdyはそれぞれX座標補正値、Y座標補正値です。
getEnemyAC数値 指定IDの敵のアニメーションカウンタを取得します。

ファイヤーボール・しっぽの当たり判定

名前引数戻り値の型説明
attackFirex, y, width, height数値 指定された矩形(ピクセル単位)にファイヤーボール、グレネード、プラズマ砲の当たり判定を作成します。ファイヤーボールが当たると1、グレネード、プラズマ砲が当たると10、これらが同時に当たると数値を合計し、その値を返します。
attackTailx, y, width, height数値 指定された矩形(ピクセル単位)にしっぽ攻撃の当たり判定を作成します。命中すると1、さもなくば0を返します。

簡易表示

名前引数戻り値の型説明
showMessagetime, name, line1, line2, line3真偽値 一言メッセージをtimeフレームの間表示します。nameに名前、line1line3にセリフ文字列を指定します。
showImagetime, x, y, filename真偽値 画像ファイルfilenametimeフレームの間表示します。
setPenColorr, g, b [, a]真偽値 showRectshowOvalメソッドで表示する図形の色を設定します。rgbに光の3原色の赤・緑・青を、aに不透明度を指定します。それぞれ0~255の範囲で指定します。aを省略した場合は完全に不透明になります。
showRecttime, x, y, width, height真偽値 指定された矩形をtimeフレームの間表示します。
showOvaltime, x, y, width, height真偽値 指定された矩形領域に収まる楕円をtimeフレームの間表示します。

ゲージ

名前引数戻り値の型説明
showGaugevalue, string真偽値 長さvalueのゲージを表示します。stringには、ゲージの上に表示する文字列を指定します。
hideGauge真偽値 ゲージを非表示にします。

パーツ配置・取得

名前引数戻り値の型説明
setMapchipx, y, code真偽値 指定座標(x, y)(ブロック単位)に標準レイヤーのパーツを配置します。codeは配置するパーツのコードです。
getMapchipx, y数値 指定座標(x, y)(ブロック単位)に配置されている標準レイヤーのコードを取得します。
setMapchip2x, y, code真偽値 指定座標(x, y)(ブロック単位)に背景レイヤーのパーツを配置します。codeは配置するパーツの番号です。
getMapchip2x, y数値 指定座標(x, y)(ブロック単位)に配置されている背景レイヤーの番号を取得します。
setAthleticx, y, n真偽値 指定された座標(ブロック単位)に仕掛けパーツを配置します。nの値は、firebar1_typeパラメータの設定値と同じものを指定します。

キー入力系

名前引数戻り値の型説明
pressLeft真偽値 左キーを押します。
pressLeft2真偽値 左キーを2連続で押します。(ダッシュの操作)
releaseLeft真偽値 左キーを離します。
pressRight真偽値 右キーを押します。
pressRight2真偽値 右キーを2連続で押します。
releaseRight真偽値 右キーを離します。
pressUp真偽値 上キーを押します。
releaseUp真偽値 上キーを離します。
pressDown真偽値 下キーを押します。
releaseDown真偽値 下キーを離します。
pressTrigger1真偽値 ジャンプキーを押します。
releaseTrigger1真偽値 ジャンプキーを離します。
releaseAll真偽値 すべてのキーを離します。
getKeyCode数値 押下中のキーコードを返します。
resetKeyCode真偽値 キーコードをリセットして0にします。
isPressZKey数値 Zキーが押されているかを判定します。押されていれば1、さもなくば0を返します。
isPressXKey数値 Xキーが押されているかを判定します。
isPressSpaceKey数値 スペースキーが押されているかを判定します。
isPressUpKey数値 上キーが押されているかを判定します。
isPressDownKey数値 下キーが押されているかを判定します。
isPressLeftKey数値 左キーが押されているかを判定します。
isPressRightKey数値 右キーが押されているかを判定します。
isPressCodeKeykeyCode数値 指定コードのキーが押されているかを判定します。

床オブジェクト

名前引数戻り値の型説明
newYukax, y, width, height, filename数値 指定した長方形の、画像ファイルfilenameを表示する床オブジェクトを作成します。戻り値は床オブジェクトへのIDです。
newYukax, y, width, height, "rect"数値 第5引数を"rect"にすると、画像ではなく矩形を表示します。
newYukax1, y1, x2, y2, linetype数値 linetypeを"line"にすると、始点(x1, y1)~終点(x2, y2)を結ぶ線分の床を作成します。linetypeを"triangle"にすると、線分を斜辺とする直角三角形を描画します。linetypeを"mount"にすると、線分から下を塗りつぶします。
setYukaPositionyukaID, x, y真偽値 指定されたIDの長方形の床の座標を設定します。
setYukaPositionyukaID, x1, y1, x2, y2真偽値 指定されたIDの線分の床の座標を設定します。
setYukaTypeyukaID, n真偽値 指定IDの床の当たり判定を設定します。nに2を代入すると当たり判定を無効にします。
disposeYukayukaID真偽値 指定IDの床を削除します。
setYukaColoryukaID, r, g, b, a真偽値 指定IDの床の色を設定します。画像を表示している場合は無効です。
isRideYukayukaID数値 指定IDの床に主人公が乗っているかを判定します。
setYukaPatternyukaID, code, n真偽値 指定IDの長方形の床に、標準レイヤーのパターン画像を設定します。nは、0だとそのまま、1だと左右反転した画像を表示します。
setYukaImageyukaID, image真偽値 指定IDの長方形の床に、画像オブジェクトの画像を設定します。引数imageにファイル名を指定した場合、画像ファイルを読み込んで設定します。

音利用

名前引数戻り値の型説明
soundOn真偽値 効果音を出します。
soundOff真偽値 効果音を消します。
onSound真偽値 soundOn()と同じです。
offSound真偽値 soundOff()と同じです。
playSoundn真偽値 効果音を再生します。nには効果音の番号1~27の値を指定します。

オフスクリーン関係

名前引数戻り値の型説明
setFontSizesize真偽値 スコアなどの文字列のサイズを設定します
newFontfontname, n, sizeフォント 第1引数(Offscreen_g)で使用できるフォントオブジェクトを作成します。nはフォントの修飾で、0は通常、1は太字、2は斜体です。環境によっては使用できないフォントも多く存在するので注意してください。
drawPatternx, y, code, n真偽値 オフスクリーンの指定座標に標準レイヤーのパターン画像を描画します。nは反転情報で、0でそのまま、1で左右反転して描画します。
setOffscreenColorr, g, b, a真偽値 オフスクリーンに描画する図形の色を設定します。
fillPolygonx1, y1, x2, y2, x3, y3 [, x4, y4]真偽値 オフスクリーンに、指定された点を結ぶ、塗りつぶした多角形を描画します。第7、第8引数を省略すると三角形、指定すると四角形を描画します。
drawImageRotateimage, x, y, angle真偽値 オフスクリーンの指定座標に、画像オブジェクトの画像をangle度回転させて描画します。
drawImageScaleimage, x, y, rateX, rateY真偽値 オフスクリーンの指定座標に、画像オブジェクトの画像を拡大・縮小させて描画します。rateXrateYは、それぞれX方向、Y方向の拡大率で、単位はパーセントです。例えば50を指定すると半分の長さ、200を指定すると2倍の長さになります。
drawImageAlphaCompositeimage, x, y, a真偽値 オフスクリーンの指定座標に、画像オブジェクトの画像を半透明にして描画します。aは不透明度で、単位はパーセントです。0で完全透明、100で不透明になります。

使用不可能メソッド

一応対応予定ですが、需要がないようならばこのまま削除します。

名前引数戻り値の型説明
playBGMfilename真偽値 音声ファイル名を指定して、そのBGMを再生します。正常に再生されません。
playBGMLoopfilename真偽値 音声ファイル名を指定して、そのBGMをループ再生します。正常に再生されません。
stopBGM真偽値 再生中のBGMを停止します。上の2つのメソッドが使用不可能なゆえに、このメソッドも使用できません。
setHTMLTexthtml真偽値 HTMLテキストを指定して解析し、パラメータを一括設定します。このメソッドは使用できません。代わりにsetParamValue(name, value)を使用してください。
loadTextFilefilename文字列 テキストファイルを読み込み、内容を文字列で返します。呼び出すとnullが返ります。
drawImagefilename, x, y真偽値 画像ファイルを読み込み、指定座標に表示します。読み込みの遅延などの影響があるので使用できないようにしています。代わりにnewImageOnLoad(filename)で画像オブジェクトを取得したのち、Offscreen_g.drawImage(image, x, y)メソッドで描画してください。

第1引数(Offscreen_g)で使用できるメソッド一覧

名前引数戻り値の型説明
drawLinex1, y1, x2, y2真偽値 点(x1, y1)と点(x2, y2)を結ぶ線分を描画します。
drawImageimage, x, y真偽値 指定座標に画像オブジェクトの画像を描画します。
drawImageimage, x, y, width, height真偽値 指定矩形に収まるようにスケーリングして画像オブジェクトの画像を描画します。
drawImageimage, sx1, sy1, sx2, sy2, dx1, dy1, dx2, dy2真偽値 画像オブジェクトの画像の、指定された矩形(sx1, sy1 )-(sx2, sy2)部分を抜き出した画像を、指定矩形(dx1, dy1)-(dx2, dy2)に収まるように描画します。
(X, Y, 幅, 高さの指定ではなく、2点指定による矩形であることに注意してください。)
drawRectx, y, width, height真偽値 塗りつぶさない矩形を現在の色で描画します。
fillRectx, y, width, height真偽値 塗りつぶした矩形を現在の色で描画します。
drawOvalx, y, width, height真偽値 指定した矩形に収まる、塗りつぶさない楕円を現在の色で描画します。
fillOvalx, y, width, height真偽値 指定した矩形に収まる、塗りつぶした楕円を現在の色で描画します。
drawArcx, y, width, height, angle, theta真偽値 指定した矩形(x, y, width, height)に収まる、塗りつぶさない円弧を現在の色で描画します。円弧の開始角度angleからtheta回転した角度までが描画対象です。単位はラジアンです。
fillArcx, y, width, height, angle, theta真偽値 指定した矩形(x, y, width, height)に収まる、塗りつぶした円弧を現在の色で描画します。円弧の開始角度angleからtheta回転した角度までが描画対象です。単位はラジアンです。
drawPolygonxa, ya, num真偽値 X座標(xa)とY座標(ya)の配列から、頂点(xa[0], ya[0])-(xa[1], ya[1])-…を結んで、塗りつぶさない多角形を現在の色で描画します。numは頂点の数です。
fillPolygonxa, ya, num真偽値 X座標(xa)とY座標(ya)の配列から、頂点(xa[0], ya[0])-(xa[1], ya[1])-…を結んで、塗りつぶす多角形を現在の色で描画します。numは頂点の数です。
drawStringstring, x, y真偽値 指定座標に文字列を描画します。
setFontfont真偽値 描画文字列のフォントをフォントオブジェクトで設定します。フォントオブジェクトはap.newFont()メソッドで取得してください。

非公式機能

コールバック関数userJSCallbackの第1引数(g)に渡されるオブジェクトには、原作では使用できなかった別の機能があります。g._ctx(アンダーバーctx)と記述すると、オフスクリーンに使用されているグラフィックスコンテキストを取得できます。これはHTML5 Canvasの機能で、グラフィックを直接制御することができます。
※以下に示すサンプルコードはコールバック関数内の一部で、第1仮引数の名前はgとします。

// 使用例1 文字列を中央寄せにして描画する

var ctx = g._ctx;  // グラフィックスコンテキストを取得する
ctx.textAlign = "center";  // 中央寄せに設定する
g.drawString("あいうえお", 256, 100);  // 試しに描画
ctx.fillText("かきくけこさしすせそたちつてと", 256, 130);  // 試しに描画
// 使用例2 複雑な図形を描画する

var ctx = g._ctx;  // グラフィックスコンテキストを取得する
ctx.beginPath();
ctx.moveTo(100, 160);
ctx.lineTo(120, 160);
ctx.arc(160, 60, 20, Math.PI, 0, true);
ctx.lineTo(200, 160);
ctx.stroke();