本文整理汇总了Golang中github.com/banthar/Go-SDL/sdl.Surface.FillRect方法的典型用法代码示例。如果您正苦于以下问题:Golang Surface.FillRect方法的具体用法?Golang Surface.FillRect怎么用?Golang Surface.FillRect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/banthar/Go-SDL/sdl.Surface
的用法示例。
在下文中一共展示了Surface.FillRect方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: gameloop
func gameloop(screen *sdl.Surface) {
gc := &GameContext{screen, 320, 16}
for {
e := sdl.WaitEvent()
screen.FillRect(nil, 0x0)
gc.drawFloor()
gc.drawPlayer()
gc.drawObjects()
switch re := e.(type) {
case *sdl.QuitEvent:
return
case *sdl.MouseMotionEvent:
screen.FillRect(&sdl.Rect{
int16(re.X),
int16(re.Y),
50, 50}, 0xffffff)
screen.Blit(&sdl.Rect{
int16(re.X),
int16(re.Y),
0, 0}, playerTexture, nil)
fmt.Println(re.X, re.Y)
case *sdl.KeyboardEvent:
if re.Type == sdl.KEYDOWN {
keyname := sdl.GetKeyName(sdl.Key(re.Keysym.Sym))
fmt.Println("pressed:", keyname)
switch keyname {
case "right":
gc.moveRight()
case "left":
gc.moveLeft()
case "q":
return
}
} else if re.Type == sdl.KEYUP {
gc.resetPlayerSpeed()
}
default:
//fmt.Println("What the heck?!")
}
gc.Dump()
screen.Flip()
}
}
示例2: Draw
func (o *Object) Draw(surface *sdl.Surface, gc *GameContext) {
windowStartX := int16(gc.PlayerPosition - 320)
// "move" the object according to the window
drawRect := &sdl.Rect{
X: o.Rect.X - windowStartX,
Y: o.Rect.Y,
W: o.Rect.W,
H: o.Rect.H,
}
surface.FillRect(drawRect, o.Color)
}
示例3: initFillBox
func initFillBox(screen *sdl.Surface) {
/*{{{*/
for i := range paint_chan {
if i.f.T == i.c {
continue
}
i.f.T = i.c
screen.FillRect(i.f.toRect(), uint32(i.c))
// Do updates of screen in the main loop.
//screen.UpdateRect(i.f.ToFourTuple());
}
/*}}}*/
}
示例4: drawGrid
/*
* Draw a grid on the display and return info about the Tile
*/
func drawGrid(screen *sdl.Surface) {
/*{{{*/
vid := sdl.GetVideoInfo()
// First the vertical
for i := 0; i < int(vid.Current_w); i += SIZE {
screen.FillRect(
&sdl.Rect{int16(i), int16(0), 1, uint16(vid.Current_h)},
0x000000)
screen.UpdateRect(int32(i), 0, 1, uint32(vid.Current_h))
}
// Then the horizontal
for i := 0; i < int(vid.Current_h); i += SIZE {
screen.FillRect(
&sdl.Rect{0, int16(i), uint16(vid.Current_w), 1},
0x000000)
screen.UpdateRect(0, int32(i), uint32(vid.Current_w), 1)
}
return
/*}}}*/
}