2018/10/20(土) [n年前の日記]
#1 [tic80] TIC-80でテクスチャ付き三角形塗り潰し
TIC-80のAPIを眺めていたら、textri という、テクスチャ付き三角形塗り潰し機能があることに気づいた。
_textri - nesbox/TIC-80 Wiki
_Play TEXTRI in TIC-80
こういう機能があるなら、スプライト相当の拡大縮小描画や回転描画もできそうだなと。
試してみたり。三角形を二つ並べて、矩形を描画してみる。
三角形で分けてる部分が、ずれて見えてしまっている問題はあるけれど、一応コレを使えば整数倍以外の拡大縮小もできるのだな…。
以下のデモを見た感じでは、回転描画もできるっぽい。
_Play TEXTRI in TIC-80
ソース中の rspr() が参考になりそう。 *1
_textri - nesbox/TIC-80 Wiki
_Play TEXTRI in TIC-80
こういう機能があるなら、スプライト相当の拡大縮小描画や回転描画もできそうだなと。
試してみたり。三角形を二つ並べて、矩形を描画してみる。
-- title: game title
-- author: game developer
-- desc: short description
-- script: lua
t=0
x=96
y=24
function TIC()
cls(13)
local w,h,scale,maxh
local x1,y1,x2,y2,x3,y3,x4,y4
local u1,v1,u2,v2,u3,v3,u4,v4
maxh = (136.0/16.0)
scale = maxh/2 + (maxh/2) * math.sin(math.rad(t))
w = 16 * scale
h = 16 * scale
x1,y1=0,0
x2,y2=w,y1
x3,y3=x1,h
x4,y4=x2,y3
u1,v1=8,0
u2,v2=24,v1
u3,v3=u1,16
u4,v4=u2,v3
textri(x1,y1,x2,y2,x3,y3,
u1,v1,u2,v2,u3,v3,
false,14)
textri(x2,y2,x3,y3,x4,y4,
u2,v2,u3,v3,u4,v4,
false,14)
t=t+1
end
三角形で分けてる部分が、ずれて見えてしまっている問題はあるけれど、一応コレを使えば整数倍以外の拡大縮小もできるのだな…。
以下のデモを見た感じでは、回転描画もできるっぽい。
_Play TEXTRI in TIC-80
ソース中の rspr() が参考になりそう。 *1
*1: ESCキーを押して、「CLOSE GAME」を選んで入力待ち画面にしてからF1キーを押せば、エディタが表示されてソースが見れる。
[ ツッコむ ]
以上です。
