BallClass inklusive renderer / Drawfunktion erstellt
This commit is contained in:
BIN
Capter1/ax_game
Executable file
BIN
Capter1/ax_game
Executable file
Binary file not shown.
@@ -1,5 +1,4 @@
|
|||||||
#include "ax_game.hpp"
|
#include "ax_game.hpp"
|
||||||
#include "ball.hpp"
|
|
||||||
|
|
||||||
ax_game::ax_game()
|
ax_game::ax_game()
|
||||||
{
|
{
|
||||||
@@ -17,25 +16,70 @@ ax_game::~ax_game()
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool ax_game::Init(){
|
bool ax_game::Init(){
|
||||||
|
int sdlResult = SDL_Init(SDL_INIT_VIDEO);
|
||||||
|
if(sdlResult != 0){
|
||||||
|
SDL_Log("Fehler bei SDL_INIT: %s", SDL_GetError());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
ax_Window = SDL_CreateWindow("Ersted Fenster", 100,100,1024,768,0);
|
||||||
|
|
||||||
|
ax_Renderer = SDL_CreateRenderer(ax_Window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
|
||||||
|
|
||||||
|
if(!ax_Renderer){
|
||||||
|
SDL_Log("Fehler bei SDL_CreateRenderer: %s", SDL_GetError());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ax_game::RunLoop(){
|
void ax_game::RunLoop(){
|
||||||
|
while(ax_IsRunning){
|
||||||
|
Input();
|
||||||
|
Update();
|
||||||
|
Output();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ax_game::Shutdown(){
|
void ax_game::Shutdown(){
|
||||||
|
SDL_DestroyRenderer(ax_Renderer);
|
||||||
|
SDL_DestroyWindow(ax_Window);
|
||||||
|
SDL_Quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ax_game::Input(){
|
void ax_game::Input(){
|
||||||
|
SDL_Event event;
|
||||||
|
while(SDL_PollEvent(&event)){
|
||||||
|
switch (event.type)
|
||||||
|
{
|
||||||
|
case SDL_QUIT:
|
||||||
|
ax_IsRunning = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ax_game::Update(){
|
void ax_game::Update(){
|
||||||
|
while(!SDL_TICKS_PASSED(SDL_GetTicks(), ax_TickCounter + 16));
|
||||||
|
float DeltaTime = (SDL_GetTicks() - ax_TickCounter) / 1000.0f;
|
||||||
|
if (DeltaTime > 0.05f)
|
||||||
|
{
|
||||||
|
DeltaTime = 0.05f;
|
||||||
|
}
|
||||||
|
ax_TickCounter = SDL_GetTicks();
|
||||||
|
|
||||||
|
// Update Ball
|
||||||
}
|
}
|
||||||
|
|
||||||
void ax_game::Output(){
|
void ax_game::Output(){
|
||||||
|
SDL_SetRenderDrawColor(ax_Renderer,0,0,255,255);
|
||||||
|
SDL_RenderClear(ax_Renderer);
|
||||||
|
|
||||||
|
ax_ball_one.Draw(ax_Renderer);
|
||||||
|
|
||||||
|
SDL_RenderPresent(ax_Renderer);
|
||||||
}
|
}
|
||||||
BIN
Capter1/ball
Executable file
BIN
Capter1/ball
Executable file
Binary file not shown.
@@ -1,11 +1,30 @@
|
|||||||
#include "ball.hpp"
|
#include "ball.hpp"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
ball::ball()
|
ball::ball()
|
||||||
{
|
{
|
||||||
x = 0;
|
std::cout << "Ball erzeugt!"<< std::endl;
|
||||||
y = 0;
|
|
||||||
|
x = 50;
|
||||||
|
y = 50;
|
||||||
|
|
||||||
|
rect = {20,20,20,20};
|
||||||
|
color = {0,255,0,255};
|
||||||
}
|
}
|
||||||
|
|
||||||
ball::~ball()
|
ball::~ball()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ball::GetXPos(){
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ball::GetYPos(){
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ball::Draw(SDL_Renderer* renderer){
|
||||||
|
SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, color.a);
|
||||||
|
SDL_RenderFillRect(renderer, &rect);
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,9 +1,20 @@
|
|||||||
|
#include "SDL2/SDL.h"
|
||||||
|
|
||||||
class ball
|
class ball
|
||||||
{
|
{
|
||||||
private:
|
public:
|
||||||
|
SDL_Rect rect;
|
||||||
float x;
|
float x;
|
||||||
float y;
|
float y;
|
||||||
|
float velx;
|
||||||
|
float vely;
|
||||||
|
SDL_Color color;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ball();
|
ball();
|
||||||
~ball();
|
~ball();
|
||||||
|
int GetXPos();
|
||||||
|
int GetYPos();
|
||||||
|
void Update();
|
||||||
|
void Draw(SDL_Renderer* renderer);
|
||||||
};
|
};
|
||||||
|
|||||||
BIN
Capter1/main
BIN
Capter1/main
Binary file not shown.
@@ -1,5 +1,6 @@
|
|||||||
//#include "Game.h"
|
//#include "Game.h"
|
||||||
#include "ax_game.hpp"
|
#include "ax_game.hpp"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
@@ -11,8 +12,16 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
game.Shutdown();
|
game.Shutdown();
|
||||||
*/
|
*/
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
ax_game AXGAME;
|
||||||
|
bool success = AXGAME.Init();
|
||||||
|
if(success){
|
||||||
|
AXGAME.RunLoop();
|
||||||
|
std::cout<< i++ << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
AXGAME.Shutdown();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user