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の衝突判定を行う