mieki256's diary



2018/10/20() [n年前の日記]

#1 [tic80] TIC-80でテクスチャ付き三角形塗り潰し

TIC-80のAPIを眺めていたら、textri という、テクスチャ付き三角形塗り潰し機能があることに気づいた。

_textri - nesbox/TIC-80 Wiki
_Play TEXTRI in TIC-80

こういう機能があるなら、スプライト相当の拡大縮小描画や回転描画もできそうだなと。

試してみたり。三角形を二つ並べて、矩形を描画してみる。

tic80_textri_ss01.gif

-- 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キーを押せば、エディタが表示されてソースが見れる。

#2 [pc] 親父さんPC用のマウスが不調らしい

親父さんから、「代わりに使えるマウスは無いか」との相談が。親父さんが使ってるマウスは、Logicool M705。どうやらボタンがちゃんと反応しなくなってきて、D&D中に変なところで落としてしまったり、シングルクリックがダブルクリックになったりするそうで。結構長い期間使ってたような気もするので、スイッチの寿命かな…。チャタリングが起きてる予感。

ダンボール箱の中から、ELECOM M-XGM10UBRD を発掘して親父さんに渡してみた。このマウスで操作してみて同じ状態になるようなら、Windows が何かおかしくなってるか、あるいは操作に問題がある、という話になるはず。原因の切り分けぐらいはできるだろう…。

それはさておき。どうしてこのELECOM製マウスを封印してたんだろう…。

_mieki256's diary - 新しいマウス、ELECOM M-XGM10UBRDを購入
_mieki256's diary - ELECOM M-XGM10UB、ダメかもしれん

なるほど。個人的に、拡張ボタンが押しづらく、かつ、ボタンのクリック感がダメだったのか…。ググってみたら今は静音版もあるらしいけど、そっちは感触が変わってたりするのだろうか。

#3 [nitijyou] 体調がよろしくないっぽい

朝方、ちょっと目が見えなくなった。視界の一部にギザギザが。おそらく _閃輝暗点 と呼ばれる症状ではないかなと…。

夜にもまた目が見えなくなった。早目に寝ることにする…。

以上、1 日分です。

過去ログ表示

Prev - 2018/10 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project