picopicoscript_のapi
Table of Contents
PicoPicoScript の API
すべての API 関数は 1 つのパラメータを取ります。 そのパラメータは辞書でなければならず、引数はキーと値のペアとして格納されます。
骨組み
func setup() { return { width: 1920, height: 1080, title: "My Game" }; } func start() { playerTex = Engine.loadTexture({ file: "player.png" }); } func frame() { Engine.draw({ texture: playerTex, x: Engine.mousePosX, y: Engine.mousePosY }); }
時間
絶対的な時間
変数 | 説明 |
---|---|
Engine.millisec | 起動からの時間(ミリ秒) |
func frame() { var dt = (Engine.millisec - lastTime) * 0.001; update(dt); render(); }
Engine.getDate()
日付を表す辞書を返します。
func frame() { var date = Engine.getDate({}); var year = date.year; var month = date.month; var day = date.day; var hour = date.hour; var min = date.minute; var sec = date.second; }
入力
マウス状態
これらは変数であり、関数ではありません。
変数 | 説明 |
---|---|
Engine.mousePosX | マウスX座標 |
Engine.mousePosY | マウスY座標 |
Engine.isMouseLeftPressed | 左マウスボタン |
Engine.isMouseRightPressed | 右マウスボタン |
func update() { if (Engine.isMouseLeftPressed) { player.x = player.x + 100; } }
レンダリング
Engine.createColorTexture()
この API は指定された色のテクスチャを作成して返します。
引数名 | 説明 |
---|---|
width | テクスチャの幅 |
height | テクスチャの高さ |
r | 色の R 値 (0-255) |
g | 色の G 値 (0-255) |
b | 色の B 値 (0-255) |
a | アルファ値 (0-255) |
func createBlockTexture() { blockTex = Engine.createColorTexture({ width: 16, height: 16, r: 255, g: 255, b: 255, a: 255 }); }
Engine.loadTexture()
この API はアセットからテクスチャをロードし、テクスチャを返します。
引数名 | 説明 |
---|---|
file | ロードするファイルの名前 |
func loadPlayerTexture() { playerTex = Engine.loadTexture({ file: "player.png" }); var width = playerTex.width; var height = playerTex.height; }
Engine.destroyTexture()
この API はテクスチャを破棄します。
引数名 | 説明 |
---|---|
texture | テクスチャ |
func destroyPlayerTexture() { Engine.loadTexture({ texture: playerTex }); }
Engine.renderTexture()
この API はテクスチャをスクリーンに描画します。
引数名 | 説明 |
---|---|
dstLeft | スクリーン X 座標 |
dstTop | スクリーン Y 座標 |
dstWidth | スクリーンでの幅 |
dstHeight | スクリーンでの高さ |
texture | テクスチャ |
srcLeft | テクスチャの左上 X 座標 |
srcTop | テクスチャの左上 Y 座標 |
srcWidth | テクスチャ矩形の幅 |
srcHeight | テキスチャ矩形の高さ |
alpha | アルファ値 (0-255) |
func renderPlayer() { Engine.renderTexture({ dstLeft: playerPos.x, dstTop: playerPos.y, dstWidth: playerTex.width, dstHeight: playerTex.height, texture: playerTex, srcLeft: 0, srcTop: 0, srcWidth: playerTex.width, srcHeight: playerTex.height, alpha: 255 }); }
Engine.draw()
この API はテキスチャをスクリーンに描画します。 Engine.renderTexture() のシンプル版です。
引数名 | 説明 |
---|---|
texture | テクスチャ |
x | スクリーン X 座標 |
y | スクリーン Y 座標 |
func renderPlayer() { Engine.draw({ texture: playerTex, x: playerPos.x, y: playerPos.y }); }
Engine.renderTexture3D()
この API はテクスチャを 3D 変形してスクリーンに描画します。
引数名 | 説明 |
---|---|
x1 | スクリーン座標 X1 |
y1 | スクリーン座標 Y1 |
x2 | スクリーン座標 X2 |
y2 | スクリーン座標 Y2 |
x3 | スクリーン座標 X3 |
y3 | スクリーン座標 Y3 |
x4 | スクリーン座標 X4 |
y4 | スクリーン座標 Y4 |
texture | テクスチャ |
srcLeft | テクスチャ左上 X 座標 |
srcTop | テクスチャ左上 Y 座標 |
srcWidth | テクスチャ矩形の幅 |
srcHeight | テクスチャ矩形の高さ |
alpha | アルファ値 (0-255) |
func renderPlayer() { Engine.renderTexture({ dstLeft: playerPos.x, dstTop: playerPos.y, dstWidth: playerTex.width, dstHeight: playerTex.height, texture: playerTex, srcLeft: 0, srcTop: 0, srcWidth: playerTex.width, srcHeight: playerTex.height, alpha: 255 }); }
Engine.loadFont()
この API はフォントファイルをフォントスロットにロードします。
Argument Name | Description |
---|---|
slot | フォントスロット番号 (0-3) |
file | ロードするファイルの名前 |
func loadNotoSansFont() { Engine.loadFont({ slot: 0, file: "NotoSans.ttf" }); }
Engine.createTextTexture()
この API はテキストを描画したテクスチャを描画します。
^引数名 ^説明 ^
slot | フォントスロット番号 (0-3) |
text | 描画するテキスト |
size | フォントサイズ |
r | 色の R 値 (0-255) |
g | 色の G 値 (0-255) |
b | 色の B 値 (0-255) |
a | アルファ値 (0-255) |
func createScoreTexture() { scoreTex = Engine.createTextTexture({ slot: 0, text: "Score: " + score, size: 32, r: 255, g: 255, b: 255, a: 255 }); }
サウンド
Engine.playSound()
この API はサウンドをサウンドトラック上で再生します。
引数名 | 説明 |
---|---|
stream | トラック番号 (0-3) |
file | 再生するファイルの名前 |
func playJumpSound() { Engine.playSound({ stream: 0, file: "jump.ogg" }); }
Engine.stopSound()
この API はサウンドトラック上のサウンド再生を停止します。
引数名 | 説明 |
---|---|
stream | Track index. (0-3) |
func playJumpSound() { Engine.stopSound({ stream: 0 }); }
Engine.setSoundVolume()
この API はサウンドトラックのボリュームを設定します。
引数名 | 説明 |
---|---|
stream | トラック番号 (0-3, -1 ならマスター) |
volume | ボリューム値 (0-1.0) |
func playJumpSound() { Engine.setSoundVolume({ stream: 0, volume: 1.0 }); }
picopicoscript_のapi.txt · Last modified: by picopicop