FAQ (日本語)
恐らく初心者が LÖVE に関して疑問に思うであろうよく尋ねられる質問
Contents
いつから LÖVE はありますか?
rude によれば:
実際に、私はそれがどのように始まったか覚えていません。実のところ、いつ始めたのかはよく覚えていません。もしかすると己への挑戦に過ぎないだけなのかもしれません。しかしながら、それがどういう物語であっただろうかということを私に書くことを誰かが強いたならば:
えーと、その頃の私は簡単に使えて、あまり悩むところがない全ての環境で動作する 2D 中心のゲームフレームワークを探しておりましたが、そのどれもが私の要求を満たすものではありませんでした。多くのエンジンと利用可能なフレームワークが存在しましたが、それらは 2D ゲームで使用するのに API に魅力がなく、あまりにも 3D に傾倒していました。そうして私は自分用の API の開発に取り組み始めました。この上なく幸福な麦芽酒のように、ついに子供たちが笑い、共に自由に遊ぶことができる Z 軸を知らぬ輝かしく自由な世界。 *一粒の涙*
……など。
どうして LÖVE にはベクトル用のライブラリが実装されていないの?
slime にによれば:
ベクトルオブジェクトを LÖVE の API で使用すると発生する主な問題は Lua にあり、頻繁に使用すると大量の不要情報を生成してしまう傾向があります。したがって LÖVE の関数で使用することに対して、それらを要求してしまうと最適な実行効率を妨げてしまうことになります。一部のエンジンではベクトルを実装するために過酷な努力をしてしまいます: https://www.youtube.com/watch?v=wTjyM7d7_YA#t=23m6s
そのせいで更に API が面倒かつ美しくないものになりかねないため、ベクトルに依存した関数の異形を製作することは望んでいません。
アンチエイジングを無効にするには (Disable a blurry)
(TODO: 復帰後に追記。)
よくある質問の一つです。これはエミュレーター、レトロPCからの移植、アップスケーリング処理、 8bit ビデオコンソール風の低解像度のドット絵を使用したゲームで問題 (座標ずれ、余計なフィルタがかかってしまう) になることがあります。 解決方法は下記のとおりです。
図形、線描
function love.draw()
love.graphics.setLineStyle('smooth') -- 誤: 線描時のアンチエイジング有効化 (デフォルト値)
love.graphics.line(100, 100, 100, 200)
-- love.graphics.setLineWidth(1) -- 誤: 線の幅を変えてもフィルタは有効なので効果はありません。
love.graphics.setLineStyle('rough') -- 正: 線描時のアンチエイジング無効化
love.graphics.line(200, 100, 200, 200)
end