Golint
This commit is contained in:
parent
10f04b58be
commit
468b700d5d
14 changed files with 130 additions and 124 deletions
|
@ -8,6 +8,7 @@ import (
|
|||
"github.com/gen2brain/raylib-go/raylib"
|
||||
)
|
||||
|
||||
// Game states
|
||||
const (
|
||||
Logo = iota
|
||||
Title
|
||||
|
|
|
@ -4,9 +4,9 @@ import (
|
|||
"github.com/gen2brain/raylib-go/raylib"
|
||||
)
|
||||
|
||||
const MaxCircles = 64
|
||||
const maxCircles = 64
|
||||
|
||||
type CircleWave struct {
|
||||
type circleWave struct {
|
||||
Position raylib.Vector2
|
||||
Radius float32
|
||||
Alpha float32
|
||||
|
@ -30,10 +30,10 @@ func main() {
|
|||
raylib.Yellow, raylib.Green, raylib.SkyBlue, raylib.Purple, raylib.Beige,
|
||||
}
|
||||
|
||||
circles := make([]CircleWave, MaxCircles)
|
||||
circles := make([]circleWave, maxCircles)
|
||||
|
||||
for i := MaxCircles - 1; i >= 0; i-- {
|
||||
c := CircleWave{}
|
||||
for i := maxCircles - 1; i >= 0; i-- {
|
||||
c := circleWave{}
|
||||
|
||||
c.Alpha = 0
|
||||
c.Radius = float32(raylib.GetRandomValue(10, 40))
|
||||
|
@ -79,7 +79,7 @@ func main() {
|
|||
timePlayed := int32(raylib.GetMusicTimePlayed(xm)/raylib.GetMusicTimeLength(xm)*float32(screenWidth-40)) * 2
|
||||
|
||||
// Color circles animation
|
||||
for i := MaxCircles - 1; (i >= 0) && !pause; i-- {
|
||||
for i := maxCircles - 1; (i >= 0) && !pause; i-- {
|
||||
circles[i].Alpha += circles[i].Speed
|
||||
circles[i].Radius += circles[i].Speed * 10.0
|
||||
|
||||
|
@ -101,7 +101,7 @@ func main() {
|
|||
|
||||
raylib.ClearBackground(raylib.RayWhite)
|
||||
|
||||
for i := MaxCircles - 1; i >= 0; i-- {
|
||||
for i := maxCircles - 1; i >= 0; i-- {
|
||||
raylib.DrawCircleV(circles[i].Position, float32(circles[i].Radius), raylib.Fade(circles[i].Color, circles[i].Alpha))
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
MaxBuildings int = 100
|
||||
maxBuildings int = 100
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -16,12 +16,12 @@ func main() {
|
|||
|
||||
player := raylib.NewRectangle(400, 280, 40, 40)
|
||||
|
||||
buildings := make([]raylib.Rectangle, MaxBuildings)
|
||||
buildColors := make([]raylib.Color, MaxBuildings)
|
||||
buildings := make([]raylib.Rectangle, maxBuildings)
|
||||
buildColors := make([]raylib.Color, maxBuildings)
|
||||
|
||||
spacing := int32(0)
|
||||
|
||||
for i := 0; i < MaxBuildings; i++ {
|
||||
for i := 0; i < maxBuildings; i++ {
|
||||
r := raylib.Rectangle{}
|
||||
r.Width = raylib.GetRandomValue(50, 200)
|
||||
r.Height = raylib.GetRandomValue(100, 800)
|
||||
|
@ -93,7 +93,7 @@ func main() {
|
|||
|
||||
raylib.DrawRectangle(-6000, 320, 13000, 8000, raylib.DarkGray)
|
||||
|
||||
for i := 0; i < MaxBuildings; i++ {
|
||||
for i := 0; i < maxBuildings; i++ {
|
||||
raylib.DrawRectangleRec(buildings[i], buildColors[i])
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
MaxColumns = 20
|
||||
maxColumns = 20
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -18,11 +18,11 @@ func main() {
|
|||
camera.Fovy = 60.0
|
||||
|
||||
// Generates some random columns
|
||||
heights := make([]float32, MaxColumns)
|
||||
positions := make([]raylib.Vector3, MaxColumns)
|
||||
colors := make([]raylib.Color, MaxColumns)
|
||||
heights := make([]float32, maxColumns)
|
||||
positions := make([]raylib.Vector3, maxColumns)
|
||||
colors := make([]raylib.Color, maxColumns)
|
||||
|
||||
for i := 0; i < MaxColumns; i++ {
|
||||
for i := 0; i < maxColumns; i++ {
|
||||
heights[i] = float32(raylib.GetRandomValue(1, 12))
|
||||
positions[i] = raylib.NewVector3(float32(raylib.GetRandomValue(-15, 15)), heights[i]/2, float32(raylib.GetRandomValue(-15, 15)))
|
||||
colors[i] = raylib.NewColor(uint8(raylib.GetRandomValue(20, 255)), uint8(raylib.GetRandomValue(10, 55)), 30, 255)
|
||||
|
@ -47,7 +47,7 @@ func main() {
|
|||
raylib.DrawCube(raylib.NewVector3(0.0, 2.5, 16.0), 32.0, 5.0, 1.0, raylib.Gold) // Draw a yellow wall
|
||||
|
||||
// Draw some cubes around
|
||||
for i := 0; i < MaxColumns; i++ {
|
||||
for i := 0; i < maxColumns; i++ {
|
||||
raylib.DrawCube(positions[i], 2.0, heights[i], 2.0, colors[i])
|
||||
raylib.DrawCubeWires(positions[i], 2.0, heights[i], 2.0, raylib.Maroon)
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
MaxGestureStrings int = 20
|
||||
maxGestureStrings int = 20
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -56,7 +56,7 @@ func main() {
|
|||
gestureStrings = append(gestureStrings, "GESTURE PINCH OUT")
|
||||
}
|
||||
|
||||
if len(gestureStrings) >= MaxGestureStrings {
|
||||
if len(gestureStrings) >= maxGestureStrings {
|
||||
gestureStrings = make([]string, 0)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,8 +7,8 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
Xbox360NameId = "Xbox 360 Controller"
|
||||
Ps3NameId = "PLAYSTATION(R)3 Controller"
|
||||
xbox360NameID = "Xbox 360 Controller"
|
||||
ps3NameID = "PLAYSTATION(R)3 Controller"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -29,7 +29,7 @@ func main() {
|
|||
if raylib.IsGamepadAvailable(raylib.GamepadPlayer1) {
|
||||
raylib.DrawText(fmt.Sprintf("GP1: %s", raylib.GetGamepadName(raylib.GamepadPlayer1)), 10, 10, 10, raylib.Black)
|
||||
|
||||
if raylib.IsGamepadName(raylib.GamepadPlayer1, Xbox360NameId) {
|
||||
if raylib.IsGamepadName(raylib.GamepadPlayer1, xbox360NameID) {
|
||||
raylib.DrawTexture(texXboxPad, 0, 0, raylib.DarkGray)
|
||||
|
||||
// Draw buttons: xbox home
|
||||
|
@ -99,7 +99,7 @@ func main() {
|
|||
raylib.DrawRectangle(170, 30, 15, int32(((1.0+raylib.GetGamepadAxisMovement(raylib.GamepadPlayer1, raylib.GamepadXboxAxisLt))/2.0)*70), raylib.Red)
|
||||
raylib.DrawRectangle(604, 30, 15, int32(((1.0+raylib.GetGamepadAxisMovement(raylib.GamepadPlayer1, raylib.GamepadXboxAxisRt))/2.0)*70), raylib.Red)
|
||||
|
||||
} else if raylib.IsGamepadName(raylib.GamepadPlayer1, Ps3NameId) {
|
||||
} else if raylib.IsGamepadName(raylib.GamepadPlayer1, ps3NameID) {
|
||||
raylib.DrawTexture(texPs3Pad, 0, 0, raylib.DarkGray)
|
||||
|
||||
// Draw buttons: ps
|
||||
|
|
|
@ -6,10 +6,6 @@ import (
|
|||
"github.com/gen2brain/raylib-go/raylib"
|
||||
)
|
||||
|
||||
var (
|
||||
MaxBuildings int = 100
|
||||
)
|
||||
|
||||
func main() {
|
||||
screenWidth := int32(800)
|
||||
screenHeight := int32(450)
|
||||
|
|
|
@ -7,8 +7,8 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
StorageScore = 0
|
||||
StorageHiscore = 1
|
||||
storageScore = 0
|
||||
storageHiscore = 1
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -28,12 +28,12 @@ func main() {
|
|||
}
|
||||
|
||||
if raylib.IsKeyPressed(raylib.KeyEnter) {
|
||||
raylib.StorageSaveValue(StorageScore, score)
|
||||
raylib.StorageSaveValue(StorageHiscore, hiscore)
|
||||
raylib.StorageSaveValue(storageScore, score)
|
||||
raylib.StorageSaveValue(storageHiscore, hiscore)
|
||||
} else if raylib.IsKeyPressed(raylib.KeySpace) {
|
||||
// NOTE: If requested position could not be found, value 0 is returned
|
||||
score = raylib.StorageLoadValue(StorageScore)
|
||||
hiscore = raylib.StorageLoadValue(StorageHiscore)
|
||||
score = raylib.StorageLoadValue(storageScore)
|
||||
hiscore = raylib.StorageLoadValue(storageHiscore)
|
||||
}
|
||||
|
||||
framesCounter++
|
||||
|
|
|
@ -18,19 +18,19 @@ const (
|
|||
spriteSize = 48
|
||||
)
|
||||
|
||||
// Floppy
|
||||
// Floppy type
|
||||
type Floppy struct {
|
||||
Position raylib.Vector2
|
||||
}
|
||||
|
||||
// Pipe
|
||||
// Pipe type
|
||||
type Pipe struct {
|
||||
Rec raylib.Rectangle
|
||||
Color raylib.Color
|
||||
Active bool
|
||||
}
|
||||
|
||||
// Game
|
||||
// Game type
|
||||
type Game struct {
|
||||
ScreenWidth int32
|
||||
ScreenHeight int32
|
||||
|
@ -60,7 +60,7 @@ type Game struct {
|
|||
PipesSpeedX int32
|
||||
}
|
||||
|
||||
// New Game
|
||||
// NewGame - Start new game
|
||||
func NewGame() (g Game) {
|
||||
g.Init()
|
||||
return
|
||||
|
@ -119,7 +119,7 @@ func run(app unsafe.Pointer) {
|
|||
os.Exit(0)
|
||||
}
|
||||
|
||||
// Initialize game
|
||||
// Init - Initialize game
|
||||
func (g *Game) Init() {
|
||||
// Window resolution
|
||||
g.ScreenWidth = 504
|
||||
|
@ -173,7 +173,7 @@ func (g *Game) Init() {
|
|||
g.Pause = false
|
||||
}
|
||||
|
||||
// Load resources
|
||||
// Load - Load resources
|
||||
func (g *Game) Load() {
|
||||
g.FxFlap = raylib.LoadSound("sounds/flap.wav")
|
||||
g.FxSlap = raylib.LoadSound("sounds/slap.wav")
|
||||
|
@ -182,7 +182,7 @@ func (g *Game) Load() {
|
|||
g.Texture = raylib.LoadTexture("images/sprite.png")
|
||||
}
|
||||
|
||||
// Unload resources
|
||||
// Unload - Unload resources
|
||||
func (g *Game) Unload() {
|
||||
raylib.UnloadSound(g.FxFlap)
|
||||
raylib.UnloadSound(g.FxSlap)
|
||||
|
@ -191,7 +191,7 @@ func (g *Game) Unload() {
|
|||
raylib.UnloadTexture(g.Texture)
|
||||
}
|
||||
|
||||
// Update game
|
||||
// Update - Update game
|
||||
func (g *Game) Update() {
|
||||
if raylib.WindowShouldClose() {
|
||||
g.WindowShouldClose = true
|
||||
|
@ -304,7 +304,7 @@ func (g *Game) Update() {
|
|||
}
|
||||
}
|
||||
|
||||
// Draw game
|
||||
// Draw - Draw game
|
||||
func (g *Game) Draw() {
|
||||
raylib.BeginDrawing()
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ const (
|
|||
squareSize = 31
|
||||
)
|
||||
|
||||
// Snake type
|
||||
type Snake struct {
|
||||
Position raylib.Vector2
|
||||
Size raylib.Vector2
|
||||
|
@ -16,6 +17,7 @@ type Snake struct {
|
|||
Color raylib.Color
|
||||
}
|
||||
|
||||
// Food type
|
||||
type Food struct {
|
||||
Position raylib.Vector2
|
||||
Size raylib.Vector2
|
||||
|
@ -23,6 +25,7 @@ type Food struct {
|
|||
Color raylib.Color
|
||||
}
|
||||
|
||||
// Game type
|
||||
type Game struct {
|
||||
ScreenWidth int32
|
||||
ScreenHeight int32
|
||||
|
@ -56,7 +59,7 @@ func main() {
|
|||
raylib.CloseWindow()
|
||||
}
|
||||
|
||||
// Initialize game
|
||||
// Init - Initialize game
|
||||
func (g *Game) Init() {
|
||||
g.ScreenWidth = 800
|
||||
g.ScreenHeight = 450
|
||||
|
@ -97,7 +100,7 @@ func (g *Game) Init() {
|
|||
g.Fruit.Active = false
|
||||
}
|
||||
|
||||
// Update game
|
||||
// Update - Update game
|
||||
func (g *Game) Update() {
|
||||
if !g.GameOver {
|
||||
if raylib.IsKeyPressed('P') {
|
||||
|
@ -192,7 +195,7 @@ func (g *Game) Update() {
|
|||
}
|
||||
}
|
||||
|
||||
// Draw game
|
||||
// Draw - Draw game
|
||||
func (g *Game) Draw() {
|
||||
raylib.BeginDrawing()
|
||||
|
||||
|
|
|
@ -6,33 +6,34 @@ import (
|
|||
"github.com/gen2brain/raylib-go/raylib"
|
||||
)
|
||||
|
||||
const NumTextures = 24
|
||||
const numTextures = 24
|
||||
|
||||
// Formats
|
||||
const (
|
||||
PNG_R8G8B8A8 = iota
|
||||
PVR_GRAYSCALE
|
||||
PVR_GRAY_ALPHA
|
||||
PVR_R5G6B5
|
||||
PVR_R5G5B5A1
|
||||
PVR_R4G4B4A4
|
||||
DDS_R5G6B5
|
||||
DDS_R5G5B5A1
|
||||
DDS_R4G4B4A4
|
||||
DDS_R8G8B8A8
|
||||
DDS_DXT1_RGB
|
||||
DDS_DXT1_RGBA
|
||||
DDS_DXT3_RGBA
|
||||
DDS_DXT5_RGBA
|
||||
PKM_ETC1_RGB
|
||||
PKM_ETC2_RGB
|
||||
PKM_ETC2_EAC_RGBA
|
||||
KTX_ETC1_RGB
|
||||
KTX_ETC2_RGB
|
||||
KTX_ETC2_EAC_RGBA
|
||||
ASTC_4x4_LDR
|
||||
ASTC_8x8_LDR
|
||||
PVR_PVRT_RGB
|
||||
PVR_PVRT_RGBA
|
||||
PngR8g8b8a8 = iota
|
||||
PvrGrayscale
|
||||
PvrGrayAlpha
|
||||
PvrR5g6b5
|
||||
PvrR5g5b5a1
|
||||
PvrR4g4b4a4
|
||||
DdsR5g6b5
|
||||
DdsR5g5b5a1
|
||||
DdsR4g4b4a4
|
||||
DdsR8g8b8a8
|
||||
DdsDxt1Rgb
|
||||
DdsDxt1Rgba
|
||||
DdsDxt3Rgba
|
||||
DdsDxt5Rgba
|
||||
PkmEtc1Rgb
|
||||
PkmEtc2Rgb
|
||||
PkmEtc2EacRgba
|
||||
KtxEtc1Rgb
|
||||
KtxEtc2Rgb
|
||||
KtxEtc2EacRgba
|
||||
Astc4x4Ldr
|
||||
Astc8x8Ldr
|
||||
PvrPvrtRgb
|
||||
PvrPvrtRgba
|
||||
)
|
||||
|
||||
var formatText = []string{
|
||||
|
@ -70,60 +71,60 @@ func main() {
|
|||
|
||||
// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
|
||||
|
||||
sonic := make([]raylib.Texture2D, NumTextures)
|
||||
sonic := make([]raylib.Texture2D, numTextures)
|
||||
|
||||
sonic[PNG_R8G8B8A8] = raylib.LoadTexture("texture_formats/sonic.png")
|
||||
sonic[PngR8g8b8a8] = raylib.LoadTexture("texture_formats/sonic.png")
|
||||
|
||||
// Load UNCOMPRESSED PVR texture data
|
||||
sonic[PVR_GRAYSCALE] = raylib.LoadTexture("texture_formats/sonic_GRAYSCALE.pvr")
|
||||
sonic[PVR_GRAY_ALPHA] = raylib.LoadTexture("texture_formats/sonic_L8A8.pvr")
|
||||
sonic[PVR_R5G6B5] = raylib.LoadTexture("texture_formats/sonic_R5G6B5.pvr")
|
||||
sonic[PVR_R5G5B5A1] = raylib.LoadTexture("texture_formats/sonic_R5G5B5A1.pvr")
|
||||
sonic[PVR_R4G4B4A4] = raylib.LoadTexture("texture_formats/sonic_R4G4B4A4.pvr")
|
||||
sonic[PvrGrayscale] = raylib.LoadTexture("texture_formats/sonic_GRAYSCALE.pvr")
|
||||
sonic[PvrGrayAlpha] = raylib.LoadTexture("texture_formats/sonic_L8A8.pvr")
|
||||
sonic[PvrR5g6b5] = raylib.LoadTexture("texture_formats/sonic_R5G6B5.pvr")
|
||||
sonic[PvrR5g5b5a1] = raylib.LoadTexture("texture_formats/sonic_R5G5B5A1.pvr")
|
||||
sonic[PvrR4g4b4a4] = raylib.LoadTexture("texture_formats/sonic_R4G4B4A4.pvr")
|
||||
|
||||
// Load UNCOMPRESSED DDS texture data
|
||||
sonic[DDS_R5G6B5] = raylib.LoadTexture("texture_formats/sonic_R5G6B5.dds")
|
||||
sonic[DDS_R5G5B5A1] = raylib.LoadTexture("texture_formats/sonic_A1R5G5B5.dds")
|
||||
sonic[DDS_R4G4B4A4] = raylib.LoadTexture("texture_formats/sonic_A4R4G4B4.dds")
|
||||
sonic[DDS_R8G8B8A8] = raylib.LoadTexture("texture_formats/sonic_A8R8G8B8.dds")
|
||||
sonic[DdsR5g6b5] = raylib.LoadTexture("texture_formats/sonic_R5G6B5.dds")
|
||||
sonic[DdsR5g5b5a1] = raylib.LoadTexture("texture_formats/sonic_A1R5G5B5.dds")
|
||||
sonic[DdsR4g4b4a4] = raylib.LoadTexture("texture_formats/sonic_A4R4G4B4.dds")
|
||||
sonic[DdsR8g8b8a8] = raylib.LoadTexture("texture_formats/sonic_A8R8G8B8.dds")
|
||||
|
||||
// Load COMPRESSED DXT DDS texture data (if supported)
|
||||
sonic[DDS_DXT1_RGB] = raylib.LoadTexture("texture_formats/sonic_DXT1_RGB.dds")
|
||||
sonic[DDS_DXT1_RGBA] = raylib.LoadTexture("texture_formats/sonic_DXT1_RGBA.dds")
|
||||
sonic[DDS_DXT3_RGBA] = raylib.LoadTexture("texture_formats/sonic_DXT3_RGBA.dds")
|
||||
sonic[DDS_DXT5_RGBA] = raylib.LoadTexture("texture_formats/sonic_DXT5_RGBA.dds")
|
||||
sonic[DdsDxt1Rgb] = raylib.LoadTexture("texture_formats/sonic_DXT1_RGB.dds")
|
||||
sonic[DdsDxt1Rgba] = raylib.LoadTexture("texture_formats/sonic_DXT1_RGBA.dds")
|
||||
sonic[DdsDxt3Rgba] = raylib.LoadTexture("texture_formats/sonic_DXT3_RGBA.dds")
|
||||
sonic[DdsDxt5Rgba] = raylib.LoadTexture("texture_formats/sonic_DXT5_RGBA.dds")
|
||||
|
||||
// Load COMPRESSED ETC texture data (if supported)
|
||||
sonic[PKM_ETC1_RGB] = raylib.LoadTexture("texture_formats/sonic_ETC1_RGB.pkm")
|
||||
sonic[PKM_ETC2_RGB] = raylib.LoadTexture("texture_formats/sonic_ETC2_RGB.pkm")
|
||||
sonic[PKM_ETC2_EAC_RGBA] = raylib.LoadTexture("texture_formats/sonic_ETC2_EAC_RGBA.pkm")
|
||||
sonic[PkmEtc1Rgb] = raylib.LoadTexture("texture_formats/sonic_ETC1_RGB.pkm")
|
||||
sonic[PkmEtc2Rgb] = raylib.LoadTexture("texture_formats/sonic_ETC2_RGB.pkm")
|
||||
sonic[PkmEtc2EacRgba] = raylib.LoadTexture("texture_formats/sonic_ETC2_EAC_RGBA.pkm")
|
||||
|
||||
sonic[KTX_ETC1_RGB] = raylib.LoadTexture("texture_formats/sonic_ETC1_RGB.ktx")
|
||||
sonic[KTX_ETC2_RGB] = raylib.LoadTexture("texture_formats/sonic_ETC2_RGB.ktx")
|
||||
sonic[KTX_ETC2_EAC_RGBA] = raylib.LoadTexture("texture_formats/sonic_ETC2_EAC_RGBA.ktx")
|
||||
sonic[KtxEtc1Rgb] = raylib.LoadTexture("texture_formats/sonic_ETC1_RGB.ktx")
|
||||
sonic[KtxEtc2Rgb] = raylib.LoadTexture("texture_formats/sonic_ETC2_RGB.ktx")
|
||||
sonic[KtxEtc2EacRgba] = raylib.LoadTexture("texture_formats/sonic_ETC2_EAC_RGBA.ktx")
|
||||
|
||||
// Load COMPRESSED ASTC texture data (if supported)
|
||||
sonic[ASTC_4x4_LDR] = raylib.LoadTexture("texture_formats/sonic_ASTC_4x4_ldr.astc")
|
||||
sonic[ASTC_8x8_LDR] = raylib.LoadTexture("texture_formats/sonic_ASTC_8x8_ldr.astc")
|
||||
sonic[Astc4x4Ldr] = raylib.LoadTexture("texture_formats/sonic_ASTC_4x4_ldr.astc")
|
||||
sonic[Astc8x8Ldr] = raylib.LoadTexture("texture_formats/sonic_ASTC_8x8_ldr.astc")
|
||||
|
||||
// Load COMPRESSED PVR texture data (if supported)
|
||||
sonic[PVR_PVRT_RGB] = raylib.LoadTexture("texture_formats/sonic_PVRT_RGB.pvr")
|
||||
sonic[PVR_PVRT_RGBA] = raylib.LoadTexture("texture_formats/sonic_PVRT_RGBA.pvr")
|
||||
sonic[PvrPvrtRgb] = raylib.LoadTexture("texture_formats/sonic_PVRT_RGB.pvr")
|
||||
sonic[PvrPvrtRgba] = raylib.LoadTexture("texture_formats/sonic_PVRT_RGBA.pvr")
|
||||
|
||||
selectedFormat := PNG_R8G8B8A8
|
||||
selectedFormat := PngR8g8b8a8
|
||||
|
||||
selectRecs := make([]raylib.Rectangle, NumTextures)
|
||||
selectRecs := make([]raylib.Rectangle, numTextures)
|
||||
|
||||
for i := 0; i < NumTextures; i++ {
|
||||
if i < NumTextures/2 {
|
||||
for i := 0; i < numTextures; i++ {
|
||||
if i < numTextures/2 {
|
||||
selectRecs[i] = raylib.NewRectangle(40, int32(30+32*i), 150, 30)
|
||||
} else {
|
||||
selectRecs[i] = raylib.NewRectangle(40+152, int32(30+32*(i-NumTextures/2)), 150, 30)
|
||||
selectRecs[i] = raylib.NewRectangle(40+152, int32(30+32*(i-numTextures/2)), 150, 30)
|
||||
}
|
||||
}
|
||||
|
||||
// Texture sizes in KB
|
||||
var textureSizes = [NumTextures]int{
|
||||
var textureSizes = [numTextures]int{
|
||||
512 * 512 * 32 / 8 / 1024, //PNG_R8G8B8A8 (32 bpp)
|
||||
512 * 512 * 8 / 8 / 1024, //PVR_GRAYSCALE (8 bpp)
|
||||
512 * 512 * 16 / 8 / 1024, //PVR_GRAY_ALPHA (16 bpp)
|
||||
|
@ -157,21 +158,21 @@ func main() {
|
|||
|
||||
if raylib.IsKeyPressed(raylib.KeyDown) {
|
||||
selectedFormat++
|
||||
if selectedFormat >= NumTextures {
|
||||
if selectedFormat >= numTextures {
|
||||
selectedFormat = 0
|
||||
}
|
||||
} else if raylib.IsKeyPressed(raylib.KeyUp) {
|
||||
selectedFormat--
|
||||
if selectedFormat < 0 {
|
||||
selectedFormat = NumTextures - 1
|
||||
selectedFormat = numTextures - 1
|
||||
}
|
||||
} else if raylib.IsKeyPressed(raylib.KeyRight) {
|
||||
if selectedFormat < NumTextures/2 {
|
||||
selectedFormat += NumTextures / 2
|
||||
if selectedFormat < numTextures/2 {
|
||||
selectedFormat += numTextures / 2
|
||||
}
|
||||
} else if raylib.IsKeyPressed(raylib.KeyLeft) {
|
||||
if selectedFormat >= NumTextures/2 {
|
||||
selectedFormat -= NumTextures / 2
|
||||
if selectedFormat >= numTextures/2 {
|
||||
selectedFormat -= numTextures / 2
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,7 +183,7 @@ func main() {
|
|||
raylib.ClearBackground(raylib.RayWhite)
|
||||
|
||||
// Draw rectangles
|
||||
for i := 0; i < NumTextures; i++ {
|
||||
for i := 0; i < numTextures; i++ {
|
||||
if i == selectedFormat {
|
||||
raylib.DrawRectangleRec(selectRecs[i], raylib.SkyBlue)
|
||||
raylib.DrawRectangleLines(selectRecs[i].X, selectRecs[i].Y, selectRecs[i].Width, selectRecs[i].Height, raylib.Blue)
|
||||
|
@ -195,7 +196,7 @@ func main() {
|
|||
}
|
||||
|
||||
// Draw selected texture
|
||||
if sonic[selectedFormat].Id != 0 {
|
||||
if sonic[selectedFormat].ID != 0 {
|
||||
raylib.DrawTexture(sonic[selectedFormat], 350, -10, raylib.White)
|
||||
} else {
|
||||
raylib.DrawRectangleLines(488, 165, 200, 110, raylib.DarkGray)
|
||||
|
@ -211,7 +212,7 @@ func main() {
|
|||
raylib.EndDrawing()
|
||||
}
|
||||
|
||||
for i := 0; i < NumTextures; i++ {
|
||||
for i := 0; i < numTextures; i++ {
|
||||
raylib.UnloadTexture(sonic[i])
|
||||
}
|
||||
|
||||
|
|
|
@ -4,8 +4,9 @@ import (
|
|||
"github.com/gen2brain/raylib-go/raylib"
|
||||
)
|
||||
|
||||
const NumProcesses = 8
|
||||
const numProcesses = 8
|
||||
|
||||
// Process
|
||||
const (
|
||||
None = iota
|
||||
ColorGrayscale
|
||||
|
@ -41,9 +42,9 @@ func main() {
|
|||
currentProcess := None
|
||||
textureReload := false
|
||||
|
||||
selectRecs := make([]raylib.Rectangle, NumProcesses)
|
||||
selectRecs := make([]raylib.Rectangle, numProcesses)
|
||||
|
||||
for i := int32(0); i < NumProcesses; i++ {
|
||||
for i := int32(0); i < numProcesses; i++ {
|
||||
selectRecs[i] = raylib.NewRectangle(40, 50+32*i, 150, 30)
|
||||
}
|
||||
|
||||
|
@ -110,7 +111,7 @@ func main() {
|
|||
raylib.DrawText("IMAGE PROCESSING:", 40, 30, 10, raylib.DarkGray)
|
||||
|
||||
// Draw rectangles
|
||||
for i := 0; i < NumProcesses; i++ {
|
||||
for i := 0; i < numProcesses; i++ {
|
||||
if i == currentProcess {
|
||||
raylib.DrawRectangleRec(selectRecs[i], raylib.SkyBlue)
|
||||
raylib.DrawRectangleLines(selectRecs[i].X, selectRecs[i].Y, selectRecs[i].Width, selectRecs[i].Height, raylib.Blue)
|
||||
|
|
|
@ -5,10 +5,10 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
MaxParticles = 200
|
||||
maxParticles = 200
|
||||
)
|
||||
|
||||
type Particle struct {
|
||||
type particle struct {
|
||||
Position raylib.Vector2
|
||||
Color raylib.Color
|
||||
Alpha float32
|
||||
|
@ -25,10 +25,10 @@ func main() {
|
|||
raylib.InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles trail blending")
|
||||
|
||||
// Particles pool, reuse them!
|
||||
mouseTail := make([]Particle, MaxParticles)
|
||||
mouseTail := make([]particle, maxParticles)
|
||||
|
||||
// Initialize particles
|
||||
for i := 0; i < MaxParticles; i++ {
|
||||
for i := 0; i < maxParticles; i++ {
|
||||
mouseTail[i].Position = raylib.NewVector2(0, 0)
|
||||
mouseTail[i].Color = raylib.NewColor(byte(raylib.GetRandomValue(0, 255)), byte(raylib.GetRandomValue(0, 255)), byte(raylib.GetRandomValue(0, 255)), 255)
|
||||
mouseTail[i].Alpha = 1.0
|
||||
|
@ -52,16 +52,16 @@ func main() {
|
|||
// NOTE: Particles initial position should be mouse position when activated
|
||||
// NOTE: Particles fall down with gravity and rotation... and disappear after 2 seconds (alpha = 0)
|
||||
// NOTE: When a particle disappears, active = false and it can be reused.
|
||||
for i := 0; i < MaxParticles; i++ {
|
||||
for i := 0; i < maxParticles; i++ {
|
||||
if !mouseTail[i].Active {
|
||||
mouseTail[i].Active = true
|
||||
mouseTail[i].Alpha = 1.0
|
||||
mouseTail[i].Position = raylib.GetMousePosition()
|
||||
i = MaxParticles
|
||||
i = maxParticles
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < MaxParticles; i++ {
|
||||
for i := 0; i < maxParticles; i++ {
|
||||
if mouseTail[i].Active {
|
||||
mouseTail[i].Position.Y += gravity
|
||||
mouseTail[i].Alpha -= 0.01
|
||||
|
@ -91,7 +91,7 @@ func main() {
|
|||
raylib.BeginBlendMode(blending)
|
||||
|
||||
// Draw active particles
|
||||
for i := 0; i < MaxParticles; i++ {
|
||||
for i := 0; i < maxParticles; i++ {
|
||||
if mouseTail[i].Active {
|
||||
raylib.DrawTexturePro(
|
||||
smoke,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue