Archives by date

You are browsing the site archives by date.

【PHP】ファイルサイズを計算し適切な単位をつけて返す関数。

メモ。

function getFileSizeUnit($fsize) {
	$cnt = 0;
	$buf = 0;
	$unit = array('B', 'KB', 'MB', 'GB', 'TB');
	while(1) {
		if($cnt > count($unit) - 1) {
			$cnt = 9999;
			break;
		}
		if(!isset($s)) $s = $fsize;
		$sbuf = 1;
		$sbuf = floor($s / 1024);
		if($sbuf < 1){
			$fs = $s + round(($fsize - ($s * pow(1024, $cnt))) / pow(1024, $cnt), 1);
			$fs .= $unit[$cnt];
			break;
		}else{
			$s = $sbuf;
		}
		$cnt ++;
	}
	return $fs;
}

ファイルサイズ(数値)を渡すと単位付きで返却してくれる。

 

【PHP】文字列を PHP コードとして評価する。

メモ。

生成した文字列をPHPコードとして評価させたい場合はeval()関数を用いる。

下記例。

$code = "echo 'Hello World';";
eval($code);

var_export()と組み合わせれば、配列を文字列として保持しておくこともできるし、関数コール時に引数を動的に設定することもできたりするすぐれもの。

ただし、任意のコードを実行出来てしまうという点で非常に危険な関数でもあるので、渡す値は十分注意されたし。

 

【enchant.js】Core()メソッドまとめ。

書式 Core(幅, 高さ)
機能 Coreオブジェクト(ゲーム画面)を作成する
プロパティ 値
assets ロードされた画像を保存するオブジェクト
currentScene 現在のシーン
fps フレームレート
frame フレーム数
height 高さ
input ボタン(キー)入力状態を保存するオブジェクト
rootScene ルートシーン
running ゲームの実行状態
scale 表示倍率
width 幅
メソッド([]内は任意引数) 機能
debug() ゲームをデバッグモードで実行する
keybind(キー, ボタン) キー(キーコード)をボタン(left, right, up, down, a, b)に割り当てる
load(パス[, コールバック]) パスで指定したファイルをロード、コールバックにはロード完了時に呼び出す関数を指定する
pause() ゲームを一時停止する
popScene() 呼び出し元のシーンに戻る
preload(パス[, パス, …]) パスで指定されたファイルをプリロードする
pushScene(シーン) 指定のシーンに切り替える
removeScene(シーン) 指定のシーンを削除する
replaceScene(シーン) 現在のシーンを指定のシーンに置き換える
resume() ゲームを再開する
start() ゲームを開始する
stop() ゲームを停止する

 

【enchant.js】Node()メソッドまとめ。

書式 Node.メソッド
Node.プロパティ
機能 Nodeオブジェクト(ノード)の機能を設定、取得する
プロパティ 値
age Nodeが画面に表示されてから経過したフレーム数
parentNode ノードの親ノード
scene ノードが属しているシーン
x ノードのx座標
y ノードのy座標
メソッド([]内は任意引数) 機能
moveBy(x座標, y座標) ノードを指定の座標に移動する
moveTo(x座標, y座標) ノードを指定の座標に移動する

 

【enchant.js】Surface()メソッドまとめ。

書式 機能
Surface(幅, 高さ) Surfaceオブジェクト(サーフィス)を作成する
Surface.load(画像ファイル名) 画像ファイルを読み込んでSurfaceオブジェクトを作成する
プロパティ 値
context サーフィスの描画コンテキスト
height サーフィスの高さ
width サーフィスの横幅
メソッド([]内は任意引数) 機能
clear() 全ピクセルをクリアし、透明度「0」の黒に設定する
clone() サーフィスを複製する
draw(image) サーフィスに対して引数で指定されたサーフィスを描画する
getPixel(x, y) サーフィスから1ピクセル取得する
setPixel(x, y, r, g, b, a) サーフィスに1ピクセル設定する
toDataURL() サーフィスからdataスキームのURLを生成する

 

【enchant.js】Group()メソッドまとめ。

書式 Group()
機能 Groupオブジェクト(グループ)を生成する
プロパティ 値
childNodes 子ノード
firstChild 最初の子ノード
lastChild 最後の子ノード
originX 回転・拡大縮小の基準点のx座標
originY 回転・拡大縮小の基準点のy座標
rotation Groupの回転角(度数法)
scaleX Groupのx軸方向の倍率
scaleY Groupのy軸方向の倍率
メソッド([]内は任意引数) 機能
addChild(ノード) グループに指定ノードを追加する
insertBefore(ノード, 挿入位置の前にあるノード) グループに指定のノードを挿入する
removeChild(ノード) グループから指定ノードを削除する

 

【enchant.js】Scene()メソッドまとめ。

書式 Scene()
機能 Sceneオブジェクト(シーン)を生成する
プロパティ 値
backgroundColor 背景色

 

【enchant.js】Entity()メソッドまとめ。

書式 Entity.メソッド
Entity.プロパティ
機能 Entityオブジェクト(マップ)の機能を設定、取得する
プロパティ 値
backgroundColor Entityの背景色
buttonMode Entityにボタンの機能を設定する
buttonPressed Entityが押されているかどうか
compositeOperation Entityを描画する際の合成処理を設定する
height Entityの高さ
opacity Entityの透明度
originX 回転・拡大縮小の基準点のx座標
originY 回転・拡大縮小の基準点のy座標
rotation スプライトの回転角(度数法)
scaleX スプライトのx軸方向の倍率
scaleY スプライトのy軸方向の倍率
touchEnabled Entityのタッチを有効にするかどうかを指定する
visible Entityの可視
width Entityの横幅
メソッド([]内は任意引数) 機能
disableCollection() インスタンスをコレクションの対象から除外する
enableCollection() インスタンスをコレクションの対象にする
intersect(他のエンティティ) Entityの衝突判定
rotate(deg) スプライトを回転する
scale(x, y) スプライトを拡大縮小する
within(他のエンティティ, 距離) 中心点間の距離(ピクセル単位)でEntityの衝突判定を行う