本文整理汇总了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;未经允许,请勿转载。 |
请发表评论