x/mobile/example/sprite: use SubTex in example
Fixes golang/go#9107 LGTM=nigeltao R=nigeltao CC=golang-codereviews, yliu https://golang.org/cl/177800043
This commit is contained in:
parent
10b4dcd412
commit
0df569094b
@ -72,7 +72,7 @@ func loadScene() {
|
|||||||
texs := loadTextures()
|
texs := loadTextures()
|
||||||
scene = &sprite.Node{}
|
scene = &sprite.Node{}
|
||||||
eng.Register(scene)
|
eng.Register(scene)
|
||||||
eng.SetTransform(scene, 0, f32.Affine{
|
eng.SetTransform(scene, f32.Affine{
|
||||||
{1, 0, 0},
|
{1, 0, 0},
|
||||||
{0, 1, 0},
|
{0, 1, 0},
|
||||||
})
|
})
|
||||||
@ -80,15 +80,15 @@ func loadScene() {
|
|||||||
var n *sprite.Node
|
var n *sprite.Node
|
||||||
|
|
||||||
n = newNode()
|
n = newNode()
|
||||||
eng.SetTexture(n, 0, texs[texBooks])
|
eng.SetSubTex(n, texs[texBooks])
|
||||||
eng.SetTransform(n, 0, f32.Affine{
|
eng.SetTransform(n, f32.Affine{
|
||||||
{36, 0, 0},
|
{36, 0, 0},
|
||||||
{0, 36, 0},
|
{0, 36, 0},
|
||||||
})
|
})
|
||||||
|
|
||||||
n = newNode()
|
n = newNode()
|
||||||
eng.SetTexture(n, 0, texs[texFire])
|
eng.SetSubTex(n, texs[texFire])
|
||||||
eng.SetTransform(n, 0, f32.Affine{
|
eng.SetTransform(n, f32.Affine{
|
||||||
{72, 0, 144},
|
{72, 0, 144},
|
||||||
{0, 72, 144},
|
{0, 72, 144},
|
||||||
})
|
})
|
||||||
@ -98,9 +98,9 @@ func loadScene() {
|
|||||||
// TODO: use a tweening library instead of manually arranging.
|
// TODO: use a tweening library instead of manually arranging.
|
||||||
t0 := uint32(t) % 120
|
t0 := uint32(t) % 120
|
||||||
if t0 < 60 {
|
if t0 < 60 {
|
||||||
eng.SetTexture(n, t, texs[texGopherR])
|
eng.SetSubTex(n, texs[texGopherR])
|
||||||
} else {
|
} else {
|
||||||
eng.SetTexture(n, t, texs[texGopherL])
|
eng.SetSubTex(n, texs[texGopherL])
|
||||||
}
|
}
|
||||||
|
|
||||||
u := float32(t0) / 120
|
u := float32(t0) / 120
|
||||||
@ -110,7 +110,7 @@ func loadScene() {
|
|||||||
ty := 36 + u*108
|
ty := 36 + u*108
|
||||||
sx := 36 + u*36
|
sx := 36 + u*36
|
||||||
sy := 36 + u*36
|
sy := 36 + u*36
|
||||||
eng.SetTransform(n, t, f32.Affine{
|
eng.SetTransform(n, f32.Affine{
|
||||||
{sx, 0, tx},
|
{sx, 0, tx},
|
||||||
{0, sy, ty},
|
{0, sy, ty},
|
||||||
})
|
})
|
||||||
@ -124,7 +124,7 @@ const (
|
|||||||
texGopherL
|
texGopherL
|
||||||
)
|
)
|
||||||
|
|
||||||
func loadTextures() (ret []sprite.Texture) {
|
func loadTextures() []sprite.SubTex {
|
||||||
f, err := os.Open("../../testdata/waza-gophers.jpeg")
|
f, err := os.Open("../../testdata/waza-gophers.jpeg")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
@ -134,26 +134,17 @@ func loadTextures() (ret []sprite.Texture) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
sheet, err := eng.LoadSheet(img)
|
t, err := eng.LoadTexture(img)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
bounds := []image.Rectangle{
|
return []sprite.SubTex{
|
||||||
texBooks: image.Rect(4, 71, 132, 182),
|
texBooks: sprite.SubTex{t, image.Rect(4, 71, 132, 182)},
|
||||||
texFire: image.Rect(330, 56, 440, 155),
|
texFire: sprite.SubTex{t, image.Rect(330, 56, 440, 155)},
|
||||||
texGopherR: image.Rect(152, 10, 152+140, 10+90),
|
texGopherR: sprite.SubTex{t, image.Rect(152, 10, 152+140, 10+90)},
|
||||||
texGopherL: image.Rect(162, 120, 162+140, 120+90),
|
texGopherL: sprite.SubTex{t, image.Rect(162, 120, 162+140, 120+90)},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, b := range bounds {
|
|
||||||
tex, err := eng.LoadTexture(sheet, b)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
ret = append(ret, tex)
|
|
||||||
}
|
|
||||||
return ret
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type arrangerFunc func(e sprite.Engine, n *sprite.Node, t clock.Time)
|
type arrangerFunc func(e sprite.Engine, n *sprite.Node, t clock.Time)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user