當前位置: 首頁>>代碼示例>>Golang>>正文


Golang sdl.Renderer類代碼示例

本文整理匯總了Golang中github.com/krig/Go-SDL2/sdl.Renderer的典型用法代碼示例。如果您正苦於以下問題:Golang Renderer類的具體用法?Golang Renderer怎麽用?Golang Renderer使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Renderer類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: Texture

func (cfg *Config) Texture(rend *sdl.Renderer, key string) *sdl.Texture {
	surface := sdl.Load(cfg.data[key])
	if surface == nil {
		log.Fatal("Failed to load " + cfg.data[key])
	}
	defer surface.Free()
	return rend.CreateTextureFromSurface(surface)
}
開發者ID:krig,項目名稱:podcast-studio,代碼行數:8,代碼來源:config.go

示例2: DrawLink

func (node *Node) DrawLink(rend *sdl.Renderer) {
	if node.next != nil {
		rend.SetDrawColor(hexcolor(0x15f0e1))
		p0 := node.Pos
		p1 := node.next.Pos
		rend.DrawLine(p0.X+p0.W/2, p0.Y+p0.H/2, p1.X+p1.W/2, p1.Y+p1.H/2)
	}
}
開發者ID:krig,項目名稱:podcast-studio,代碼行數:8,代碼來源:studio.go

示例3: Draw

func (button *Button) Draw(rend *sdl.Renderer) {
	w := button.Pos.W
	state := button.State
	if state > 2 {
		state = 2
	}
	rend.Copy(button.texture, &sdl.Rect{int32(state) * w, 0, button.Pos.W, button.Pos.H}, &button.Pos)
}
開發者ID:krig,項目名稱:podcast-studio,代碼行數:8,代碼來源:ui.go

示例4: RenderTextToTexture

func RenderTextToTexture(r *sdl.Renderer, f *ttf.Font, text string, color sdl.Color) (*sdl.Texture, int, int) {
	textw, texth, err := f.SizeText(text)
	if err != nil {
		log.Fatal(err)
	}
	txt_surface := f.RenderText_Blended(text, color)
	txt_tex := r.CreateTextureFromSurface(txt_surface)
	txt_surface.Free()
	return txt_tex, textw, texth
}
開發者ID:jbondeson,項目名稱:Go-SDL2,代碼行數:10,代碼來源:test.go

示例5: Update

func (label *Label) Update(rend *sdl.Renderer) {
	textw, texth, err := label.Font.SizeText(label.Text)
	if err != nil {
		log.Fatal(err)
	}
	txt_surface := label.Font.RenderText_Blended(label.Text, label.Color)
	if label.texture != nil {
		label.texture.Destroy()
	}
	label.texture = rend.CreateTextureFromSurface(txt_surface)
	txt_surface.Free()
	label.texwidth = int32(textw)
	label.texheight = int32(texth)
}
開發者ID:krig,項目名稱:podcast-studio,代碼行數:14,代碼來源:ui.go

示例6: studioUpdate

func studioUpdate(window *sdl.Window, rend *sdl.Renderer, screen *Screen) bool {
	var event sdl.Event
	running := true
	for (&event).Poll() {
		switch e := (&event).Get().(type) {
		case sdl.QuitEvent:
			running = false

		case sdl.KeyboardEvent:
			if e.Keysym.Keycode == sdl.K_ESCAPE {
				running = false
			}

		case sdl.MouseMotionEvent:
			screen.stack.OnMouseMotionEvent(&e)

		case sdl.MouseButtonEvent:
			screen.stack.OnMouseButtonEvent(&e)
		}
	}

	neww, newh := window.GetSize()
	screen.UpdateLayout(sdl.Rect{0, 0, int32(neww), int32(newh)})

	//screen.UpdateAnimations(framerate.Delta())

	rend.SetDrawBlendMode(sdl.BLENDMODE_NONE)
	rend.SetDrawColor(screen.rsc.BackgroundColor)
	rend.Clear()
	rend.SetDrawBlendMode(sdl.BLENDMODE_BLEND)
	screen.Draw(rend)
	rend.Present()
	screen.framerate.FramerateDelay()

	return running
}
開發者ID:krig,項目名稱:podcast-studio,代碼行數:36,代碼來源:studio.go

示例7: Draw

func (node *Node) Draw(rend *sdl.Renderer) {
	if node.dragging {
		node.curr.X += (node.goal.X - node.curr.X) * (15.0 / 30.0)
		node.curr.Y += (node.goal.Y - node.curr.Y) * (15.0 / 30.0)
		node.Pos.X = int32(node.curr.X)
		node.Pos.Y = int32(node.curr.Y)
		node.label.Pos = node.Pos
	}

	clr := node.color
	if !node.dragging {
		rend.SetDrawColor(clr)
		rend.FillRect(&node.Pos)
	}
	rend.SetDrawColor(lighten(clr, 19))
	rend.DrawRect(&node.Pos)
	node.label.Draw(rend)

	if node.menu.Visible {
		node.menu.Draw(rend)
	}
}
開發者ID:krig,項目名稱:podcast-studio,代碼行數:22,代碼來源:studio.go


注:本文中的github.com/krig/Go-SDL2/sdl.Renderer類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。