Ebiten 1.12 リリースノート
v1.12.0
新機能
シェーダー
カスタムシェーダーが書ける機能、及び Go 風シェーディング言語 Kage が新規追加されました。詳しくは Shader のドキュメントを参照してください。
それに伴い、次の API が追加されました。
func DrawRectShaderOptions
func DrawTrianglesShaderOptions
func (*Image).DrawRectShader
func (*Image).DrawTrianglesShader
type Shader
type NewShader
func (*Shader).Dispose
その他
AddressUnsafe
が新規追加されました (Issue 1219)。
(*ColorM).Invert
が新規追加されました (Issue 548)。
CompositeModeMultiply
が新規追加されました (Issue 410)。
SetInitFocused
が新規追加されました (Issue 769)。
SetScreenClearedEveryFrame
/ IsScreenClearedEveryFrame
が新規追加されました (Issue 1132、Issue 1315)。
text.BoundString
が新規追加されました (Issue 1151、Issue 1272)。
後方互換性
AddressUnsafe
が新規追加されました (Issue 1219)。(*ColorM).Invert
が新規追加されました (Issue 548)。CompositeModeMultiply
が新規追加されました (Issue 410)。SetInitFocused
が新規追加されました (Issue 769)。SetScreenClearedEveryFrame
/ IsScreenClearedEveryFrame
が新規追加されました (Issue 1132、Issue 1315)。text.BoundString
が新規追加されました (Issue 1151、Issue 1272)。SubImage
の描画について、一部非互換の挙動が入ります。詳しくはブログ記事「1.12 に入る破壊的変更: サブ画像の描画」を参照してください。
廃止予定 API
Run
: 代わりにGame
インターフェイスとRunGame
関数を使用してください。
バグ修正
- このリリースには、 v1.11.x にあるすべてのバグ修正が含まれます。
- 上部が切れることがあった問題を修正 (Issue 1163)。
- 描画先の端が欠けることがあった問題を修正 (Issue 1171)。
- 特定のゲームパッドでクラッシュする問題の修正 (Issue 1173)。
- Parallels 上の Mint Linux でのクラッシュを修正 (Issue 1310)。
- 特定の Android デバイスでのクラッシュを修正 (Issue 1342)。
- Cinnamon デスクトップでスケーリングが正しくなかった問題の修正 (Issue 1307、Issue 1350)。
パフォーマンス改善
- ブラウザと Android でコンテキストロストを明示的に検知する方法を採用 (Issue 1175、Issue 1176)。
- メモリ使用量の改善 (Issue 797、Issue 1220、Issue 1221、Issue 1222)。
v1.12.1
バグ修正
text.Draw
でgolang.org/x/image/font/opentype
をつかった OpenType フォントが正しく描画されなかった問題の修正 (Issue 1377)。text.Draw
でカーニングがマイナスのときに正しく描画されなかった問題の修正 (Issue 1378)。
v1.12.2
バグ修正
- メインループ前の
ebiten.SetVsyncEnabled(false)
が macOS で動かなかった問題の修正 (Issue 1364). audio.NewContext
が macOS と iOS で稀にクラッシュする問題の修正 (Issue 1386)。
v1.12.3
バグ修正
- 極端なスケールで描画すると無限ループする問題の修正 (Issue 1398)。
- 大きすぎるミップマップ画像を作成しようとしてクラッシュする問題の修正 (Issue 1399)。
v1.12.4
バグ修正
- フルスクリーンのときに、スクリーンを切り替えると最小化してしまう問題の修正 (Issue 1405)。
- Raspebrry Pi 400 で音が途切れていた問題の修正 (Issue 1424)。
v1.12.5
バグ修正
- macOS Big Sur で Metal ではなく OpenGL が使われてしまう問題の修正 (Issue 1429)。
v1.12.6
バグ修正
- 内部テクスチャが限度を超えて大きくなる可能性がある問題の修正 (Issue 1454)。
v1.12.7
バグ修正
- オーディオ再生中にデッドロックする問題の修正 (Issue 1469)。
v1.12.8
バグ修正
- WebAssembly 上で、スクリーンの拡大率が 1 未満のときにメモリリークする問題の修正 (Issue 1479)。
- Samsung Galaxy S20 上で、スケーリングが間違っていた問題の修正 (Issue 1481)。
- Ebitenmobile が 1.16 で動かなかった問題の修正 (Issue 1484、Issue 1487、Issue 1493)。
v1.12.9
バグ修正
- reflect.SliceHeader の誤使用かもしれない箇所の修正 (Issue 1495)。
examples/audiopanning
で現在再生位置が正しく表示されなかった問題の修正 (Issue 1502)。- フルスクリーンモードで、他のアプリケーションに切り替えてもアプリケーションが隠れなかった問題の修正 (Issue 1405 のリバート) (Issue 1504)。
v1.12.10
バグ修正
- ゲームパッドが一部 Android デバイスで動かなかった問題の修正 (Issue 1542)。
CompositeModeMultiply
と-ebitendebug
を使用したときにクラッシュする問題の修正 (Issue 1544)。- ブラウザで、
DrawImage
を複数の Goroutine から呼び出したときに、競合状態を起こしていた問題の修正 (Issue 1546)。
v1.12.11
バグ修正
SetScreenClearedEveryFrame
のドキュメント修正 (Issue 1555)。
v1.12.12
バグ修正
- 最新の GopherJS でビルドに失敗した問題の修正 (Issue 1582)。
CursorPosition
をメインループ前に呼び出すとクラッシュした問題の修正 (Issue 1559)。- ウィンドウを最大化した後にウィンドウサイズを変更しようとしたときにフリーズした問題の修正 (Issue 1580)。
...
付きの go get (go get github.com/hajimehoshi/ebiten/...
) が失敗した問題の修正 (Issue 1581)。- macOS で、ウィンドウが (緑色のボタンで) ネイティブフルスクリーン状態であるときに、フルスクリーンを切り替えようとするとクラッシュした問題の修正 (Issue 1578)。
- examples/audiopanning がブラウザでクラッシュした問題の修正 (Issue 1598)。
- Linux で、 examples/windowsize のウィンドウが自動的に移動していた問題の修正 (Issue 1605)。
- Linux で、 examples/windowsize のウィンドウがリサイズ中に震えることがあった問題の修正 (Issue 1617)。
- Windows で、起動時にデバイススケールの取得に失敗することがあった問題の修正 (Issue 1612)。
- Linux で、高速にウインドウをリサイズするとフリーズした問題の修正 (Issue 1618)。