示例#1
0
func pressButton(b *staticimg.StaticImg, u *uistate.UIState) {
	if !b.GetHidden() {
		u.Eng.SetSubTex(b.GetNode(), b.GetAlt())
		b.SetHidden(false)
		b.SetDisplayingImage(false)
	}
}
示例#2
0
func AnimateImageNoChannel(animImage *staticimg.StaticImg, endPos, endDim *coords.Vec, u *uistate.UIState) {
	node := animImage.GetNode()
	startPos := animImage.GetCurrent()
	startDim := animImage.GetDimensions()
	iteration := 0
	node.Arranger = arrangerFunc(func(eng sprite.Engine, node *sprite.Node, t clock.Time) {
		iteration++
		if iteration < animationFrameCount {
			curXY := animImage.GetCurrent()
			curDim := animImage.GetDimensions()
			XYStep := endPos.MinusVec(startPos).DividedBy(animationFrameCount)
			dimStep := endDim.MinusVec(startDim).DividedBy(animationFrameCount)
			newVec := curXY.PlusVec(XYStep)
			dimVec := curDim.PlusVec(dimStep)
			animImage.Move(newVec, dimVec, eng)
			card := animImage.GetCardHere()
			if card != nil {
				card.Move(newVec, dimVec, eng)
			}
		} else if iteration == animationFrameCount {
			animImage.Move(endPos, endDim, eng)
			card := animImage.GetCardHere()
			if card != nil {
				card.Move(endPos, endDim, eng)
			}
		}
	})
}
示例#3
0
func AlternateImgs(s *staticimg.StaticImg, u *uistate.UIState) {
	<-time.After(100 * time.Millisecond)
	node := s.GetNode()
	node.Arranger = arrangerFunc(func(eng sprite.Engine, node *sprite.Node, t clock.Time) {
		t0 := uint32(t) % 10
		if t0 < 5 {
			u.Eng.SetSubTex(s.GetNode(), s.GetImage())
		} else {
			u.Eng.SetSubTex(s.GetNode(), s.GetAlt())
		}
	})
}
示例#4
0
func RemoveImg(s *staticimg.StaticImg, u *uistate.UIState) {
	u.Eng.Unregister(s.GetNode())
}