当前位置: 首页>>代码示例>>Golang>>正文


Golang Node.Arranger方法代码示例

本文整理汇总了Golang中golang.org/x/mobile/exp/sprite.Node.Arranger方法的典型用法代码示例。如果您正苦于以下问题:Golang Node.Arranger方法的具体用法?Golang Node.Arranger怎么用?Golang Node.Arranger使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在golang.org/x/mobile/exp/sprite.Node的用法示例。


在下文中一共展示了Node.Arranger方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: updateNode

func (e *WritableEngine) updateNode(n *sprite.Node) {
	if n.Arranger != nil {
		if _, ok := n.Arranger.(*arranger); !ok {
			n.Arranger = &arranger{e, n.Arranger}
		}
	}
	e.n[n].Parent = e.n[n.Parent]
	e.n[n].FirstChild = e.n[n.FirstChild]
	e.n[n].LastChild = e.n[n.LastChild]
	e.n[n].PrevSibling = e.n[n.PrevSibling]
	e.n[n].NextSibling = e.n[n.NextSibling]
}
开发者ID:golang-samples,项目名称:gomobile,代码行数:12,代码来源:engine.go

示例2: loadScene

func loadScene() {
	texs := loadTextures()
	scene = &sprite.Node{}
	eng.Register(scene)
	eng.SetTransform(scene, f32.Affine{
		{1, 0, 0},
		{0, 1, 0},
	})

	var n *sprite.Node

	n = newNode()
	eng.SetSubTex(n, texs[texBooks])
	eng.SetTransform(n, f32.Affine{
		{36, 0, 0},
		{0, 36, 0},
	})

	n = newNode()
	eng.SetSubTex(n, texs[texFire])
	eng.SetTransform(n, f32.Affine{
		{72, 0, 144},
		{0, 72, 144},
	})

	n = newNode()
	n.Arranger = arrangerFunc(func(eng sprite.Engine, n *sprite.Node, t clock.Time) {
		// TODO: use a tweening library instead of manually arranging.
		t0 := uint32(t) % 120
		if t0 < 60 {
			eng.SetSubTex(n, texs[texGopherR])
		} else {
			eng.SetSubTex(n, texs[texGopherL])
		}

		u := float32(t0) / 120
		u = (1 - f32.Cos(u*2*math.Pi)) / 2

		tx := 18 + u*48
		ty := 36 + u*108
		sx := 36 + u*36
		sy := 36 + u*36
		eng.SetTransform(n, f32.Affine{
			{sx, 0, tx},
			{0, sy, ty},
		})
	})
}
开发者ID:paulhankin,项目名称:mobile,代码行数:48,代码来源:main.go


注:本文中的golang.org/x/mobile/exp/sprite.Node.Arranger方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。