PicoPicoGameEngine

Quick Links

スクリーンオブジェクト

画面を扱うオブジェクトです。

ppscreen

:viewport()

描画領域を指定します。

引数がない場合は設定値を返します。

ppscreen:viewport(x, y, width, height)
ppscreen:viewport({x, y, width, height})
ppscreen:viewport(rect)
rect = ppscreen:viewport()
x : number

X座標

y : number

Y座標

width : number

横幅

height : number

高さ

rect : rectangle object

描画領域

:layout()

指定した仮想解像度でスクリーンを調整します。

r = ppscreen:layout({x, y, width, height})
r = ppscreen:layout(rect)
x : number

仮想画面のX座標位置

y : number

仮想画面のY座標位置

width : number

仮想解像度の横幅

height : number

仮想解像度の高さ

rect : rectangle object

仮想解像度

r : rectangle object

レイアウトした画面位置

s=ppscreen
g=ppgraph
r=pprect(0,0,320,320)
t={0,0,320,320}
function start()
  local v=s:layout(t)
  s:viewport(v)
  g:fill(0,0,320,320,g.blue)
  s:offset(0,0)
  s:scale(1,1)
  s:viewport(s:size())
  g:box(v)
end

:size()

画面サイズを返します。

引数がない場合は設定値を返します。

size = ppscreen:size()
size : rectangle object

スクリーンサイズ

:offset()

表示位置を移動させます。

引数がない場合は設定値を返します。

ppscreen:offset(x,y)
ppscreen:offset({x,y})
ppscreen:offset(pos)
pos = ppscreen:offset()
x : number

X方向オフセット

y : number

Y方向オフセット

pos : point object

オフセット

:rotate()

画面を回転させます。

引数がない場合は設定値を返します。

ppscreen:rotate(r)
r = ppscreen:rotate()
r : number

回転度 ラジアン

:pivot()

回転やスケールの中心を指定します。

引数がない場合は設定値を返します。

ppscreen:pivot(x,y)
ppscreen:pivot({x,y})
ppscreen:pivot(pivot)
pivot = ppscreen:pivot()
x : number

X座標

y : number

Y座標

pivot : point object

中心座標

:scale()

画面を拡大縮小させます。

引数がない場合は設定値を返します。

ppscreen:scale(x,y)
ppscreen:scale({x,y})
ppscreen:scale(scale)
x : number

X方向スケール値

y : number

Y方向スケール値

scale : point object

スケール値

:from()

スクリーン座標からウインドウ座標へ変換します。

ppscreen:from(pos)
pos : point object

座標値

:to()

ウインドウ座標からスクリーン座標へ変換します。

ppscreen:to(pos)
pos : point object

座標値

base = {0,0,320,320}
function start()
  ppscreen:viewport(
    ppscreen:layout(base))
  ppgraph:fill(base,ppgraph.blue)
  local t = pptouch()
  if #t > 0 then
    p = ppscreen:to(t[1])
    ppgraph:print(
      math.floor(p.x)..","..
      math.floor(p.y))
  end
end

:arrayfrom()

スクリーン座標からウインドウ座標へ変換します。

ppscreen:arrayfrom(points)
points : object

point objectの配列

:arrayto()

ウインドウ座標からスクリーン座標へ変換します。

ppscreen:arrayto(points)
points : object

point objectの配列

base = {0,0,320,320}
function start()
  ppscreen:viewport(
    ppscreen:layout(base))
  ppgraph:fill(base,ppgraph.blue)
  local t = pptouch()
  if #t > 0 then
    p = ppscreen:arrayto(t)
    ppgraph:print(
      math.floor(p[1].x)..","..
      math.floor(p[1].y))
  end
end