• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang debug.Trace函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/jmorgan1321/golang-games/lib/engine/debug.Trace函数的典型用法代码示例。如果您正苦于以下问题:Golang Trace函数的具体用法?Golang Trace怎么用?Golang Trace使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: StartUp

func (q *QmlDebugDrawer) StartUp(config types.JGameObject) {
	defer debug.Trace().UnTrace()

	qml.RegisterTypes("SqclDebugDrawExtensions", 1, 0, []qml.TypeSpec{{
		Init: func(r *GoBox, obj qml.Object) {
			r.Object = obj
		},
	}})

	cfg := config.Comp("graphics.Config").(*Config)
	file := `
import QtQuick 2.0
import SqclDebugDrawExtensions 1.0

Item {
    property var box : Component {
        Rectangle {
            opacity: 0.5;
            width: 100; height: 100;
            border.width:5;
            border.color:"blue";
        }
    }
}
    `
	component, err := cfg.Engine.LoadString("file.qml", strings.TrimSpace(file))
	if err != nil {
		panic(err)
	}
	q.Comp = component.Create(nil)
	q.engine = cfg.Engine
	q.window = cfg.Window
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:33,代码来源:debugDraw_qml.go


示例2: Paint

func (c *GoQmlRect) Paint(p *qml.Painter) {
	defer debug.Trace().UnTrace()

	gl := GL.API(p)

	trans := c.R.Owner().Comp("physics.Transform").(*physics.Transform)
	c.Set("x", trans.X)
	c.Set("y", trans.Y)
	width := float32(c.Int("width"))
	height := float32(c.Int("height"))

	gl.Enable(GL.BLEND)
	gl.BlendFunc(GL.SRC_ALPHA, GL.ONE_MINUS_SRC_ALPHA)
	gl.Color4f(1.0, 1.0, 1.0, 0.8)
	gl.Begin(GL.QUADS)
	gl.Vertex2f(0, 0)
	gl.Vertex2f(width, 0)
	gl.Vertex2f(width, height)
	gl.Vertex2f(0, height)
	gl.End()

	gl.LineWidth(2.5)
	gl.Color4f(0.0, 0.0, 0.0, 1.0)
	gl.Begin(GL.LINES)
	gl.Vertex2f(0, 0)
	gl.Vertex2f(width, height)
	gl.Vertex2f(width, 0)
	gl.Vertex2f(0, height)
	gl.End()
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:30,代码来源:graphics_qml.go


示例3: AddLine

func (q *QmlDebugDrawer) AddLine(goc types.JGameObject, x1, y1, x2, y2 int) {
	defer debug.Trace().UnTrace()

	if q.Object == nil {
		q.Object = &GoBox{x1: x1, y1: y1, x2: x2, y2: y2}
		q.Object.Init()
		q.goc = goc

		input := core.Core.Manager("QmlInputMngr").(types.JManager)
		// TODO: how to unregister specific message?
		// tracker := goc.Register("collision", input, func(e event.Data) {
		goc.Register("collision", input, func(e event.Data) {
			border := q.Object.Property("border").(qml.Object)
			red := color.RGBA{255, 0, 0, 255}
			if border.Color("color") == red {
				border.Set("color", "blue")
			} else {
				border.Set("color", "red")
			}
		})
		// goc.Unregister(tracker)
		// tracker.Unlink()
	} else {
		q.Object.Deinit()
		q.Object = nil
	}
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:27,代码来源:debugDraw_qml.go


示例4: Init

func (c *GoBox) Init() {
	defer debug.Trace().UnTrace()

	grfx := core.Core.Manager("QmlDebugDrawer").(*QmlDebugDrawer)
	c.Object = grfx.Comp.Object("box").Create(nil)

	c.Set("parent", grfx.window.Root())
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:8,代码来源:debugDraw_qml.go


示例5: StartUp

func (q *QmlInputMngr) StartUp(config types.JGameObject) {
	defer debug.Trace().UnTrace()
	// cfg := config.Comp("input.Config").(*input.Config)

	q.Register("register_input_comp", core.Core.RootSpace, func(e event.Data) {
		q.registerInputHandler(e.(*InputHandler))
	})
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:8,代码来源:input_qml.go


示例6: movePlayer

func (c *InputHandler) movePlayer(x, y int) {
	defer debug.Trace().UnTrace()

	trans := c.Owner().Comp("physics.Transform").(*physics.Transform)
	trans.X += (10 * x)
	trans.Y += (10 * y)

	debug.Msg(trans.X, trans.Y)
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:9,代码来源:inputHandlerComponent.go


示例7: EndFrame

func (q *QmlDebugDrawer) EndFrame() {
	defer debug.Trace().UnTrace()

	if q.Object != nil {
		trans := q.goc.Comp("physics.Transform").(*physics.Transform)
		q.Object.Set("x", trans.X)
		q.Object.Set("y", trans.Y)
	}
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:9,代码来源:debugDraw_qml.go


示例8: Init

func (t *Transform) Init() {
	defer debug.Trace().UnTrace()

	input := core.Core.Manager("QmlInputMngr").(types.JManager)

	t.Owner().Register("debug_draw", input, func(e event.Data) {
		t.DebugDraw()
	})
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:9,代码来源:transform.go


示例9: EndFrame

func (q *QmlGrfxMngr) EndFrame() {
	defer debug.Trace().UnTrace()

	if q.r != nil {
		trans := q.r.Owner().Comp("physics.Transform").(*physics.Transform)
		q.r.Set("x", trans.X)
		q.r.Set("y", trans.Y)
		// 	// qml.Changed(q.r, fieldAddr)
	}
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:10,代码来源:graphics_qml.go


示例10: StartUp

func (q *QmlGrfxMngr) StartUp(config types.JGameObject) {
	defer debug.Trace().UnTrace()

	types := []qml.TypeSpec{
		{
			Init: func(r *GoQmlRect, obj qml.Object) {
				defer debug.Trace().UnTrace()
				r.Object = obj
			},
		},
	}
	qml.RegisterTypes("GoExtensions", 1, 0, types)

	cfg := config.Comp("graphics.Config").(*Config)
	q.engine = cfg.Engine
	q.window = cfg.Window
	q.window.Set("width", cfg.W)
	q.window.Set("height", cfg.H)
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:19,代码来源:graphics_qml.go


示例11: StartUp

func (c *core) StartUp(config JGameObjectHandle) {
	defer debug.Trace().UnTrace()

	for _, m := range c.managers {
		m.StartUp(config)
	}

	for _, s := range c.spaces {
		s.Init()
	}
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:11,代码来源:core.go


示例12: ShutDown

func (c *core) ShutDown() {
	defer debug.Trace().UnTrace()

	for i := len(c.spaces) - 1; i >= 0; i-- {
		c.spaces[i].DeInit()
	}

	for i := len(c.managers) - 1; i >= 0; i-- {
		c.managers[i].ShutDown()
	}
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:11,代码来源:core.go


示例13: HandleKey

// HandleKey handles keyboard events
func (q *QmlInputMngr) HandleKey(key int, shift_mod, ctrl_mod, alt_mod bool) {
	defer debug.Trace().UnTrace()

	switch keycodes.Keycode(key) {
	case keycodes.Key_None:
		// do nothing
	case keycodes.Key_Alt, keycodes.Key_Shift, keycodes.Key_Control:
		debug.Msg(keycodes.Keycode(key))
		debug.Msg()
	default:
		// TODO(jemorgan): move this logic into input system
		switch key {
		case keycodes.Key_Right:
			q.Dispatch("move_right", nil)
			return
		case keycodes.Key_Left:
			q.Dispatch("move_left", nil)
			return
		case keycodes.Key_Up:
			q.Dispatch("move_up", nil)
			return
		case keycodes.Key_Down:
			q.Dispatch("move_down", nil)
			return
		case keycodes.Key_D:
			q.Dispatch("debug_draw", nil)
		case keycodes.Key_F:
			q.Dispatch("collision", nil)
		}

		if shift_mod && key != keycodes.Key_Shift {
			debug.Msg("shift+")
		}
		if ctrl_mod && key != keycodes.Key_Control {
			debug.Msg("ctrl+")
		}
		if alt_mod && key != keycodes.Key_Alt {
			debug.Msg("alt+")
		}
		debug.Msg(keycodes.Keycode(key))
		debug.Msg()
	}

	if shift_mod && key == keycodes.Key_Q {
		os.Exit(1)
	}
	// if key == keycodes.Key_T {
	//     ctrl.Timer.Set("running", true)
	// }
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:51,代码来源:input_qml.go


示例14: Init

func (c *GoRect) Init() {
	defer debug.Trace().UnTrace()

	grfx := core.Core.Manager("QmlGrfxMngr").(*QmlGrfxMngr)
	grfx.r = c
	component, err := grfx.engine.LoadFile("file3.qml")
	if err != nil {
		panic(err)
	}
	c.Object = component.Create(nil)
	obj := c.Object.Interface().(*GoQmlRect)
	obj.R = c
	obj.Test = "what"

	c.Set("parent", grfx.window.Root())
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:16,代码来源:graphics_qml.go


示例15: LoadConfig

// LoadConfig is needed as a backdoor to factory not being inititalized
func LoadConfig(file string) types.JGameObject {
	defer debug.Trace().UnTrace()

	data, err := support.OpenFile(file)
	if err != nil {
		debug.Fatal("Failed to open Config file: " + file)
	}

	holder, err := support.ReadData(data)
	if err != nil {
		debug.Fatal("Failed to read in Config file: " + file)
		return nil
	}

	goc := types.JGoc{}
	serialization.SerializeInPlace(&goc, holder)
	return &goc
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:19,代码来源:core.go


示例16: Create

// s := f.Create(f1, Name("space"))
// goc1 := f.Create(f2, Owner(s), Name("goc1"))
// goc2 := f.Create(f2, Owner(s), Dispatcher(d))
func (f *Factory) Create(file string, opts ...FactoryOpt) types.JGameObject {
	defer debug.Trace().UnTrace()

	// read in game object data

	data, err := support.OpenFile(file)
	if err != nil {
		debug.Fatal("OpenFile (", file, "):", err)
	}

	holder, err := support.ReadData(data)
	if err != nil {
		debug.Fatal("ReadData (", file, "):", err)
	}

	m := holder.(map[string]interface{})
	typename, found := m["Type"]
	if !found {
		debug.Fatal("'Type' member not found in holder")
	}
	obj := serialization.FactoryFunc(typename.(string)).(types.JGameObject)
	serialization.SerializeInPlace(obj, holder)

	// apply options to game object
	for _, opt := range opts {
		opt(obj)
	}

	// check for transform, check for dispatcher, name etc

	if obj.Name() == "" {
		obj.SetName(fmt.Sprint("obj", len(f.ObjList)))
	}

	// add game object to factory

	f.ObjList = append(f.ObjList, obj)
	return obj
	// h := types.JGameObject{id: len(f.ObjList)}
	// f.NameMap[obj.Name()] = h
	// return h
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:45,代码来源:factory.go


示例17: Create

// s := f.Create(f1, Name("space"))
// goc1 := f.Create(f2, Owner(s), Name("goc1"))
// goc2 := f.Create(f2, Owner(s), Dispatcher(d))
func (f *Factory) Create(file string, opts ...FactoryOpt) JGameObjectHandle {
	defer debug.Trace().UnTrace()

	// read in game object data

	data, err := support.OpenFile(file)
	if err != nil {
		support.LogFatal("Failed to open Config file: " + file)
	}

	holder, err := support.ReadData(data)
	if err != nil {
		support.LogFatal("Failed to read in Config file: " + file)
		return nil
	}

	m := v.(map[string]interface{})
	typename, err := m["Type"]
	if err != nil {
		log.Panic(err)
	}
	obj := factoryFunc(typename.(string))
	SerializeInPlace(obj, holder)

	// apply options to game object
	for _, opt := range opts {
		opt(obj)
	}

	// check for transform, check for dispatcher, name etc

	if obj.Name() == "" {
		obj.SetName(fmt.Sprint("obj", len(f.ObjList)))
	}

	// add game object to factory

	f.ObjList = append(f.ObjList, obj)
	h := JGameObjectHandle{id: len(f.ObjList)}
	f.NameMap[obj.Name()] = h
	return h
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:45,代码来源:core.go


示例18: Init

func (c *InputHandler) Init() {
	defer debug.Trace().UnTrace()

	core.Core.RootSpace.Dispatch("register_input_comp", c)

	input := core.Core.Manager("QmlInputMngr").(*QmlInputMngr)

	c.Owner().Register("move_left", input, func(e event.Data) {
		c.movePlayer(-1, 0)
	})
	c.Owner().Register("move_right", input, func(e event.Data) {
		c.movePlayer(1, 0)
	})
	c.Owner().Register("move_down", input, func(e event.Data) {
		c.movePlayer(0, 1)
	})
	c.Owner().Register("move_up", input, func(e event.Data) {
		c.movePlayer(0, -1)
	})
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:20,代码来源:inputHandlerComponent.go


示例19: Step

func (c *core) Step() {
	defer debug.Trace().UnTrace()

	if c.TimeStamp.IsZero() {
		c.TimeStamp = time.Now()
	}

	if dt := time.Since(c.TimeStamp); dt >= 16*time.Millisecond {
		fmt.Println("frame:", c.CurrFrame)
		c.CurrFrame++

		for _, mgr := range c.managers {
			mgr.BeginFrame()
			defer mgr.EndFrame()
		}

		for _, spc := range c.spaces {
			spc.Update(float32(dt))
		}
		fmt.Println()
	}
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:22,代码来源:core.go


示例20: Step

func (c *core) Step() {
	defer debug.Trace().UnTrace()

	c.TimeStamp = time.Now()
	dt := time.Since(c.TimeStamp)
	// if dt < 16*time.Millisecond { return }
	debug.Msg()
	debug.Msg("frame:", c.CurrFrame)
	debug.Log("dt:", dt)
	c.CurrFrame++

	for _, mgr := range c.managers {
		mgr.BeginFrame()
		defer mgr.EndFrame()
	}

	for _, spc := range c.spaces {
		spc.Update(dt)
	}

	debug.Msg()
	// }
}
开发者ID:jmorgan1321,项目名称:golang-games,代码行数:23,代码来源:core.go



注:本文中的github.com/jmorgan1321/golang-games/lib/engine/debug.Trace函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang test.Checker函数代码示例发布时间:2022-05-23
下一篇:
Golang reflectx.Mapper类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap