--[[ bmp画像表示サンプル ]] function Initialize() -- 初期設定のおまじない SetWorldSize(1024, 1024) SetViewSize(480, 272) SetViewPos(0, 0) SetDrawSize(480, 272) SetDrawPos(0, 0) -- 描画システムの初期化 GraphicInitialize( 1, -- SCREEN_MODE_REALSIZE (0) -- PCとPSPの区別をつけず、座標とサイズをそのまま適用 -- SCREEN_MODE_FIT_PSP (1) -- PSPを基準にしてPCでは座標系を倍のサイズとして処理をする -- SCREEN_MODE_FIT_PC (2) -- PCを基準にしてPSPでは座標系を半分のサイズとして処理をする 0, -- テクスチャデータの扱いかた -- TEXTURE_MODE_REALSIZE (0) -- テクスチャをPSPでもそのまま読み込む -- TEXTURE_MODE_SHRINK (1) -- テクスチャをPSPでは半分のサイズにして読み込む 0, -- 64サイズのテクスチャ使用枚数 0, -- 128サイズのテクスチャ使用枚数 1, -- 256サイズのテクスチャ使用枚数 -- 今回は256*256のテクスチャ1枚だけ読み込むので1を指定 0, -- 512サイズのテクスチャ使用枚数 0, -- 1024サイズのテクスチャ使用枚数 0, -- フォントの使用種類数 0) -- アニメデータの使用数 -- bmpファイルを読み込んで管理番号を受け取る -- no = LoadGraphic(filename) -- 引数 -- filename -- 読み込む画像ファイル名 -- ファイルは[data/Texture/]フォルダに入れてください -- 戻り値 -- no -- 画像管理番号 -- ファイル読み込みに失敗すると0が返ってくる -- 正しく読み込めると1以上の数値が返ってくる bmp1 = LoadGraphic("ladder.bmp") -- 不必要になった画像データを開放するには -- DeleteGraphic(no) -- のようにして開放できます -- 回転させて表示するための回転角 angle = 0 return end --[[ 毎フレームこの関数がシステムから呼び出される ]] function MainLoop() -- 回転角度を増やす angle = angle + 256 -- 角度は0から65535で表す -- 時計で表すと、3時が0に対応してそこから時計回りで値が増えて行く if (angle >= 65536) then angle = angle - 65536 -- 角度の正規化。65535を超えないようにする end -- 描画先 DRAW_TO_WORLD = 0 DRAW_TO_VIEW = 1 DRAW_TO_SCREEN = 2 -- Zオーダーは0から255までの256段階 -- 数値が大きなほど手前に表示される z1 = 100 z2 = 10 -- テクスチャを表示 -- DrawTexture(tex, x, y, width, height, srcX, srcY, srcWidth, srcHeight, z, draw_to) -- 引数 -- tex -- 表示に使用する画像番号 -- x, y -- 表示先座標 -- width, height -- 表示先のサイズ -- srcX, srcY -- 画像切り出し開始座標 -- srcWidth, srcHeight -- 画像切り出しサイズ -- z -- 表示Z値 -- draw_to -- 使用座標系 -- 0 = DRAW_TO_WORLD -- 1 = DRAW_TO_VIEW -- 2 = DRAW_TO_SCREEN -- テクスチャを回転表示 -- DrawRotationTexture(tex, x, y, width, height, srcX, srcY, srcWidth, srcHeight, z, angle, draw_to) -- 引数 -- tex -- 表示に使用する画像番号 -- x, y -- 表示先座標 -- width, height -- 表示先のサイズ -- srcX, srcY -- 画像切り出し開始座標 -- srcWidth, srcHeight -- 画像切り出しサイズ -- z -- 表示Z値 -- angle -- 回転角度 -- 時計の3時方向が0度、そこから時計回りに値が増えて65536で一周します -- draw_to -- 使用座標系 -- 0 = DRAW_TO_WORLD -- 1 = DRAW_TO_VIEW -- 2 = DRAW_TO_SCREEN -- すなおに等倍表示 DrawTexture(bmp1, 200, 50, 64, 64, 0, 64*3, 64, 64, z1, DRAW_TO_SCREEN) -- 横2倍、縦3倍にして表示 DrawTexture(bmp1, 300, 50, 64*2, 64*3, 0, 64*3, 64, 64, z1, DRAW_TO_SCREEN) -- 回転させつつ等倍表示 DrawRotationTexture(bmp1, 200, 50, 64, 64, 0, 64*3, 64, 64, z2, angle, DRAW_TO_SCREEN) return end