Browse Source

Added some examples

pull/2/head
raysan5 11 years ago
parent
commit
1a8cdc10b7
25 changed files with 5358 additions and 17 deletions
  1. +17
    -17
      examples/ex02b_basic_shapes.c
  2. +58
    -0
      examples/ex04b_texture_rectangle.c
  3. BIN
      examples/ex04b_texture_rectangle.png
  4. +58
    -0
      examples/ex05a_sprite_fonts.c
  5. BIN
      examples/ex05a_sprite_fonts.png
  6. +58
    -0
      examples/ex05b_rbmf_fonts.c
  7. BIN
      examples/ex05b_rbmf_fonts.png
  8. +50
    -0
      examples/ex06a_color_select.c
  9. BIN
      examples/ex06a_color_select.png
  10. +50
    -0
      examples/ex06b_shape_select.c
  11. BIN
      examples/ex06b_shape_select.png
  12. +50
    -0
      examples/ex06c_font_select.c
  13. BIN
      examples/ex06c_font_select.png
  14. +64
    -0
      examples/ex07a_3d_mode.c
  15. BIN
      examples/ex07a_3d_mode.exe
  16. BIN
      examples/ex07a_3d_mode.png
  17. +77
    -0
      examples/ex07b_3d_shapes.c
  18. BIN
      examples/ex07b_3d_shapes.png
  19. +76
    -0
      examples/ex07c_3d_models.c
  20. BIN
      examples/ex07c_3d_models.exe
  21. BIN
      examples/ex07c_3d_models.png
  22. +69
    -0
      examples/ex08_audio.c
  23. BIN
      examples/ex08_audio.exe
  24. BIN
      examples/ex08_audio.png
  25. +4731
    -0
      examples/resources/cat.obj

+ 17
- 17
examples/ex02b_basic_shapes.c View File

@ -37,23 +37,23 @@ int main()
// TODO: draw some shapes... with names... :P
/*
void DrawPixel(int posX, int posY, Color color); // Draw a pixel
void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version)
void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line
void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version)
void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle
void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle
void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version)
void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline
void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle
void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle
void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle
void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version)
void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline
void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw a color-filled triangle
void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color); // Draw triangle outline
void DrawPoly(Vector2 *points, int numPoints, Color color); // Draw a closed polygon defined by points
void DrawPolyLine(Vector2 *points, int numPoints, Color color); // Draw polygon lines
void DrawPixel(int posX, int posY, Color color);
void DrawPixelV(Vector2 position, Color color);
void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color);
void DrawLineV(Vector2 startPos, Vector2 endPos, Color color);
void DrawCircle(int centerX, int centerY, float radius, Color color);
void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2);
void DrawCircleV(Vector2 center, float radius, Color color);
void DrawCircleLines(int centerX, int centerY, float radius, Color color);
void DrawRectangle(int posX, int posY, int width, int height, Color color);
void DrawRectangleRec(Rectangle rec, Color color);
void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2);
void DrawRectangleV(Vector2 position, Vector2 size, Color color);
void DrawRectangleLines(int posX, int posY, int width, int height, Color color);
void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color);
void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color);
void DrawPoly(Vector2 *points, int numPoints, Color color);
void DrawPolyLine(Vector2 *points, int numPoints, Color color);
*/
DrawRectangle(screenWidth/4 - 50, screenHeight/2 - 100, 100, 100, GOLD);
DrawCircle(3*screenWidth/4, screenHeight/2 - 50, 50, MAROON);

+ 58
- 0
examples/ex04b_texture_rectangle.c View File

@ -0,0 +1,58 @@
/*******************************************************************************************
*
* raylib example 04b - Texture loading and drawing a part defined by a rectangle
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 04b - texture rectangle");
// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
Texture2D texture = LoadTexture("resources/raylib_logo.png"); // Texture loading
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
// TODO: Comming soon...
// TIP: Use DrawTextureRec() function
/*
void DrawTextureRec(Texture2D texture, Rectangle sourceRec, Vector2 position, float scale, Color tint);
*/
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
UnloadTexture(texture); // Texture unloading
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex04b_texture_rectangle.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.8 KiB

+ 58
- 0
examples/ex05a_sprite_fonts.c View File

@ -0,0 +1,58 @@
/*******************************************************************************************
*
* raylib example 05a - SpriteFont loading and drawing some text with it
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 05a - sprite fonts");
// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
SpriteFont font = LoadSpriteFont("resources/custom_font.png"); // SpriteFont loading
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
// TODO: Comming soon...
// TIP: Use DrawTextEx() function
/*
void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, int fontSize, int spacing, Color tint);
*/
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
UnloadSpriteFont(font); // SpriteFont unloading
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex05a_sprite_fonts.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.8 KiB

+ 58
- 0
examples/ex05b_rbmf_fonts.c View File

@ -0,0 +1,58 @@
/*******************************************************************************************
*
* raylib example 05b - raylib bitmap font (rbmf) loading and using
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 04b - texture rectangle");
// NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required)
SpriteFont font = LoadSpriteFont("resources/custom_font.rbmf"); // SpriteFont loading
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
// TODO: Comming soon...
// TIP: Use DrawTextEx() function
/*
void DrawTextEx(SpriteFont spriteFont, const char* text, Vector2 position, int fontSize, int spacing, Color tint);
*/
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
UnloadSpriteFont(font); // SpriteFont unloading
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex05b_rbmf_fonts.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.8 KiB

+ 50
- 0
examples/ex06a_color_select.c View File

@ -0,0 +1,50 @@
/*******************************************************************************************
*
* raylib example 06a - Color selection by mouse (collision detection)
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 06a - color selection");
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
// TODO: Comming soon...
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex06a_color_select.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.8 KiB

+ 50
- 0
examples/ex06b_shape_select.c View File

@ -0,0 +1,50 @@
/*******************************************************************************************
*
* raylib example 06b - Shape selection by mouse (collision detection)
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 06b - shape selection");
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
// TODO: Comming soon...
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex06b_shape_select.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.8 KiB

+ 50
- 0
examples/ex06c_font_select.c View File

@ -0,0 +1,50 @@
/*******************************************************************************************
*
* raylib example 06c - Font selection...
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 06c - font selection");
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
// TODO: Comming soon...
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex06c_font_select.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.8 KiB

+ 64
- 0
examples/ex07a_3d_mode.c View File

@ -0,0 +1,64 @@
/*******************************************************************************************
*
* raylib example 07a - Initialize 3d mode
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
Vector3 position = { 0.0, 0.0, 0.0 };
Camera camera = {{ 0.0, 10.0, 10.0 }, { 0.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 }};
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 07a - 3d mode");
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(WHITE);
Begin3dMode(camera);
DrawCube(position, 2, 2, 2, RED);
DrawGrid(10.0, 1.0);
End3dMode();
DrawText("Welcome to the third dimension!", 10, 40, 20, 1, DARKGRAY);
DrawFps();
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex07a_3d_mode.exe View File


BIN
examples/ex07a_3d_mode.png View File

Before After
Width: 800  |  Height: 450  |  Size: 8.3 KiB

+ 77
- 0
examples/ex07b_3d_shapes.c View File

@ -0,0 +1,77 @@
/*******************************************************************************************
*
* raylib example 07b - Draw some basic 3d shapes (cube, sphere, cylinder...)
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
Vector3 position = { 0.0, 0.0, 0.0 };
// Define the camera to look into our 3d world
Camera camera = {{ 0.0, 10.0, 10.0 }, { 0.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 }};
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 07b - 3d shapes");
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// TODO: Update your variables here
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
Begin3dMode(camera);
DrawCube(position, 2, 2, 2, RED); // Draw a cube
DrawCubeWires(position, 2, 2, 2, MAROON); // Draw a wired-cube
// TODO: Draw some basic 3d shapes
/*
void DrawCube(Vector3 position, float width, float height, float lenght, Color color);
void DrawCubeV(Vector3 position, Vector3 size, Color color);
void DrawCubeWires(Vector3 position, float width, float height, float lenght, Color color);
void DrawSphere(Vector3 centerPos, float radius, Color color);
void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color);
void DrawSphereWires(Vector3 centerPos, float radius, Color color);
void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color);
void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color);
*/
DrawGrid(10.0, 1.0); // Draw a grid
End3dMode();
DrawFps(10, 10);
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex07b_3d_shapes.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.8 KiB

+ 76
- 0
examples/ex07c_3d_models.c View File

@ -0,0 +1,76 @@
/*******************************************************************************************
*
* raylib example 07c - Load and draw a 3d model (OBJ)
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
Vector3 position = { 0.0, 0.0, 0.0 };
// Define the camera to look into our 3d world
Camera camera = {{ 10.0, 8.0, 10.0 }, { 0.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 }};
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 07c - 3d models");
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
Texture2D texture = LoadTexture("resources/catwhite.png");
Model cat = LoadModel("resources/cat.obj");
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
if (IsKeyPressed(KEY_LEFT)) position.x -= 0.2;
if (IsKeyPressed(KEY_RIGHT)) position.x += 0.2;
if (IsKeyPressed(KEY_UP)) position.z -= 0.2;
if (IsKeyPressed(KEY_DOWN)) position.z += 0.2;
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
Begin3dMode(camera);
DrawModelEx(cat, texture, position, 0.1f, WHITE); // Draw 3d model with texture
DrawGrid(10.0, 1.0); // Draw a grid
DrawGizmo(position, false);
End3dMode();
DrawFps(10, 10);
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
UnloadTexture(texture); // Unload texture
UnloadModel(cat); // Unload model
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex07c_3d_models.exe View File


BIN
examples/ex07c_3d_models.png View File

Before After
Width: 800  |  Height: 450  |  Size: 37 KiB

+ 69
- 0
examples/ex08_audio.c View File

@ -0,0 +1,69 @@
/*******************************************************************************************
*
* raylib example 08 - Audio loading and playing
*
* This example has been created using raylib 1.0 (www.raylib.com)
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
*
* Copyright (c) 2013 Ramon Santamaria (Ray San - raysan@raysanweb.com)
*
********************************************************************************************/
#include "raylib.h"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
// Initialization
//---------------------------------------------------------
InitWindow(screenWidth, screenHeight, "raylib example 08 - audio loading and playing");
InitAudioDevice(); // Initialize audio device
Sound fx = LoadSound("resources/coin.wav"); // Load WAV audio file
bool currentKeyState = false;
bool previousKeyState = currentKeyState;
//----------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
currentKeyState = IsKeyPressed(KEY_SPACE); // Check if Space have been pressed
if (currentKeyState != previousKeyState)
{
if (currentKeyState) PlaySound(fx); // Play the sound!
previousKeyState = currentKeyState;
}
//-----------------------------------------------------
// Draw
//-----------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
DrawText("Press SPACE to PLAY the SOUND!", 240, 200, 20, 1, LIGHTGRAY);
EndDrawing();
//-----------------------------------------------------
}
// De-Initialization
//---------------------------------------------------------
UnloadSound(fx); // Unload sound data
CloseAudioDevice(); // Close audio device
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
return 0;
}

BIN
examples/ex08_audio.exe View File


BIN
examples/ex08_audio.png View File

Before After
Width: 800  |  Height: 450  |  Size: 3.5 KiB

+ 4731
- 0
examples/resources/cat.obj
File diff suppressed because it is too large
View File


Loading…
Cancel
Save