Initial commit

This commit is contained in:
Milan Nikolic 2017-01-27 09:35:30 +01:00
commit d7ff68b487
196 changed files with 286314 additions and 0 deletions

View file

@ -0,0 +1,45 @@
package main
import (
"github.com/gen2brain/raylib-go/raylib"
)
func main() {
screenWidth := int32(800)
screenHeight := int32(450)
raylib.InitWindow(screenWidth, screenHeight, "raylib [shapes] example - basic shapes drawing")
raylib.SetTargetFPS(60)
for !raylib.WindowShouldClose() {
raylib.BeginDrawing()
raylib.ClearBackground(raylib.RayWhite)
raylib.DrawText("some basic shapes available on raylib", 20, 20, 20, raylib.DarkGray)
raylib.DrawLine(18, 42, screenWidth-18, 42, raylib.Black)
raylib.DrawCircle(screenWidth/4, 120, 35, raylib.DarkBlue)
raylib.DrawCircleGradient(screenWidth/4, 220, 60, raylib.Green, raylib.SkyBlue)
raylib.DrawCircleLines(screenWidth/4, 340, 80, raylib.DarkBlue)
raylib.DrawRectangle(screenWidth/4*2-60, 100, 120, 60, raylib.Red)
raylib.DrawRectangleGradient(screenWidth/4*2-90, 170, 180, 130, raylib.Maroon, raylib.Gold)
raylib.DrawRectangleLines(screenWidth/4*2-40, 320, 80, 60, raylib.Orange)
raylib.DrawTriangle(raylib.NewVector2(float32(screenWidth)/4*3, 80),
raylib.NewVector2(float32(screenWidth)/4*3-60, 150),
raylib.NewVector2(float32(screenWidth)/4*3+60, 150), raylib.Violet)
raylib.DrawTriangleLines(raylib.NewVector2(float32(screenWidth)/4*3, 160),
raylib.NewVector2(float32(screenWidth)/4*3-20, 230),
raylib.NewVector2(float32(screenWidth)/4*3+20, 230), raylib.DarkBlue)
raylib.DrawPoly(raylib.NewVector2(float32(screenWidth)/4*3, 320), 6, 80, 0, raylib.Brown)
raylib.EndDrawing()
}
raylib.CloseWindow()
}

View file

@ -0,0 +1,66 @@
package main
import (
"github.com/gen2brain/raylib-go/raylib"
)
func main() {
raylib.InitWindow(800, 450, "raylib [shapes] example - raylib color palette")
raylib.SetTargetFPS(60)
for !raylib.WindowShouldClose() {
raylib.BeginDrawing()
raylib.ClearBackground(raylib.RayWhite)
raylib.DrawText("raylib color palette", 28, 42, 20, raylib.Black)
raylib.DrawRectangle(26, 80, 100, 100, raylib.DarkGray)
raylib.DrawRectangle(26, 188, 100, 100, raylib.Gray)
raylib.DrawRectangle(26, 296, 100, 100, raylib.LightGray)
raylib.DrawRectangle(134, 80, 100, 100, raylib.Maroon)
raylib.DrawRectangle(134, 188, 100, 100, raylib.Red)
raylib.DrawRectangle(134, 296, 100, 100, raylib.Pink)
raylib.DrawRectangle(242, 80, 100, 100, raylib.Orange)
raylib.DrawRectangle(242, 188, 100, 100, raylib.Gold)
raylib.DrawRectangle(242, 296, 100, 100, raylib.Yellow)
raylib.DrawRectangle(350, 80, 100, 100, raylib.DarkGreen)
raylib.DrawRectangle(350, 188, 100, 100, raylib.Lime)
raylib.DrawRectangle(350, 296, 100, 100, raylib.Green)
raylib.DrawRectangle(458, 80, 100, 100, raylib.DarkBlue)
raylib.DrawRectangle(458, 188, 100, 100, raylib.Blue)
raylib.DrawRectangle(458, 296, 100, 100, raylib.SkyBlue)
raylib.DrawRectangle(566, 80, 100, 100, raylib.DarkPurple)
raylib.DrawRectangle(566, 188, 100, 100, raylib.Violet)
raylib.DrawRectangle(566, 296, 100, 100, raylib.Purple)
raylib.DrawRectangle(674, 80, 100, 100, raylib.DarkBrown)
raylib.DrawRectangle(674, 188, 100, 100, raylib.Brown)
raylib.DrawRectangle(674, 296, 100, 100, raylib.Beige)
raylib.DrawText("DARKGRAY", 65, 166, 10, raylib.Black)
raylib.DrawText("GRAY", 93, 274, 10, raylib.Black)
raylib.DrawText("LIGHTGRAY", 61, 382, 10, raylib.Black)
raylib.DrawText("MAROON", 186, 166, 10, raylib.Black)
raylib.DrawText("RED", 208, 274, 10, raylib.Black)
raylib.DrawText("PINK", 204, 382, 10, raylib.Black)
raylib.DrawText("ORANGE", 295, 166, 10, raylib.Black)
raylib.DrawText("GOLD", 310, 274, 10, raylib.Black)
raylib.DrawText("YELLOW", 300, 382, 10, raylib.Black)
raylib.DrawText("DARKGREEN", 382, 166, 10, raylib.Black)
raylib.DrawText("LIME", 420, 274, 10, raylib.Black)
raylib.DrawText("GREEN", 410, 382, 10, raylib.Black)
raylib.DrawText("DARKBLUE", 498, 166, 10, raylib.Black)
raylib.DrawText("BLUE", 526, 274, 10, raylib.Black)
raylib.DrawText("SKYBLUE", 505, 382, 10, raylib.Black)
raylib.DrawText("DARKPURPLE", 592, 166, 10, raylib.Black)
raylib.DrawText("VIOLET", 621, 274, 10, raylib.Black)
raylib.DrawText("PURPLE", 620, 382, 10, raylib.Black)
raylib.DrawText("DARKBROWN", 705, 166, 10, raylib.Black)
raylib.DrawText("BROWN", 733, 274, 10, raylib.Black)
raylib.DrawText("BEIGE", 737, 382, 10, raylib.Black)
raylib.EndDrawing()
}
raylib.CloseWindow()
}

View file

@ -0,0 +1,29 @@
package main
import (
"github.com/gen2brain/raylib-go/raylib"
)
func main() {
screenWidth := int32(800)
screenHeight := int32(450)
raylib.InitWindow(screenWidth, screenHeight, "raylib [shapes] example - raylib logo using shapes")
raylib.SetTargetFPS(60)
for !raylib.WindowShouldClose() {
raylib.BeginDrawing()
raylib.ClearBackground(raylib.RayWhite)
raylib.DrawRectangle(screenWidth/2-128, screenHeight/2-128, 256, 256, raylib.Black)
raylib.DrawRectangle(screenWidth/2-112, screenHeight/2-112, 224, 224, raylib.RayWhite)
raylib.DrawText("raylib", screenWidth/2-44, screenHeight/2+48, 50, raylib.Black)
raylib.DrawText("this is NOT a texture!", 350, 370, 10, raylib.Gray)
raylib.EndDrawing()
}
raylib.CloseWindow()
}

View file

@ -0,0 +1,124 @@
package main
import (
"github.com/gen2brain/raylib-go/raylib"
)
func main() {
screenWidth := int32(800)
screenHeight := int32(450)
raylib.InitWindow(screenWidth, screenHeight, "raylib [shapes] example - raylib logo animation")
logoPositionX := screenWidth/2 - 128
logoPositionY := screenHeight/2 - 128
framesCounter := 0
lettersCount := int32(0)
topSideRecWidth := int32(16)
leftSideRecHeight := int32(16)
bottomSideRecWidth := int32(16)
rightSideRecHeight := int32(16)
state := 0 // Tracking animation states (State Machine)
alpha := float32(1.0) // Useful for fading
raylib.SetTargetFPS(60)
for !raylib.WindowShouldClose() {
if state == 0 { // State 0: Small box blinking
framesCounter++
if framesCounter == 120 {
state = 1
framesCounter = 0 // Reset counter... will be used later...
}
} else if state == 1 { // State 1: Top and left bars growing
topSideRecWidth += 4
leftSideRecHeight += 4
if topSideRecWidth == 256 {
state = 2
}
} else if state == 2 { // State 2: Bottom and right bars growing
bottomSideRecWidth += 4
rightSideRecHeight += 4
if bottomSideRecWidth == 256 {
state = 3
}
} else if state == 3 { // State 3: Letters appearing (one by one)
framesCounter++
if framesCounter%12 == 0 { // Every 12 frames, one more letter!
lettersCount++
framesCounter = 0
}
if lettersCount >= 6 { // When all letters have appeared, just fade out everything
alpha -= 0.02
if alpha <= 0.0 {
alpha = 0.0
state = 4
}
}
} else if state == 4 { // State 4: Reset and Replay
if raylib.IsKeyPressed(raylib.KeyR) {
framesCounter = 0
lettersCount = 0
topSideRecWidth = 16
leftSideRecHeight = 16
bottomSideRecWidth = 16
rightSideRecHeight = 16
alpha = 1.0
state = 0 // Return to State 0
}
}
raylib.BeginDrawing()
raylib.ClearBackground(raylib.RayWhite)
if state == 0 {
if (framesCounter/15)%2 == 0 {
raylib.DrawRectangle(logoPositionX, logoPositionY, 16, 16, raylib.Black)
}
} else if state == 1 {
raylib.DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, raylib.Black)
raylib.DrawRectangle(logoPositionX, logoPositionY, 16, leftSideRecHeight, raylib.Black)
} else if state == 2 {
raylib.DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, raylib.Black)
raylib.DrawRectangle(logoPositionX, logoPositionY, 16, leftSideRecHeight, raylib.Black)
raylib.DrawRectangle(logoPositionX+240, logoPositionY, 16, rightSideRecHeight, raylib.Black)
raylib.DrawRectangle(logoPositionX, logoPositionY+240, bottomSideRecWidth, 16, raylib.Black)
} else if state == 3 {
raylib.DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, raylib.Fade(raylib.Black, alpha))
raylib.DrawRectangle(logoPositionX, logoPositionY+16, 16, leftSideRecHeight-32, raylib.Fade(raylib.Black, alpha))
raylib.DrawRectangle(logoPositionX+240, logoPositionY+16, 16, rightSideRecHeight-32, raylib.Fade(raylib.Black, alpha))
raylib.DrawRectangle(logoPositionX, logoPositionY+240, bottomSideRecWidth, 16, raylib.Fade(raylib.Black, alpha))
raylib.DrawRectangle(screenWidth/2-112, screenHeight/2-112, 224, 224, raylib.Fade(raylib.RayWhite, alpha))
text := "raylib"
length := int32(len(text))
if lettersCount > length {
lettersCount = length
}
raylib.DrawText(text[0:lettersCount], screenWidth/2-44, screenHeight/2+48, 50, raylib.Fade(raylib.Black, alpha))
} else if state == 4 {
raylib.DrawText("[R] REPLAY", 340, 200, 20, raylib.Gray)
}
raylib.EndDrawing()
}
raylib.CloseWindow()
}