BallClass inklusive renderer / Drawfunktion erstellt

This commit is contained in:
2025-10-18 14:24:24 +02:00
parent 860d8febe6
commit 0e29919fd2
7 changed files with 93 additions and 10 deletions

BIN
Capter1/ax_game Executable file

Binary file not shown.

View File

@@ -1,5 +1,4 @@
#include "ax_game.hpp"
#include "ball.hpp"
ax_game::ax_game()
{
@@ -17,25 +16,70 @@ ax_game::~ax_game()
}
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(){
while(ax_IsRunning){
Input();
Update();
Output();
}
}
void ax_game::Shutdown(){
SDL_DestroyRenderer(ax_Renderer);
SDL_DestroyWindow(ax_Window);
SDL_Quit();
}
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(){
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(){
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

Binary file not shown.

View File

@@ -1,11 +1,30 @@
#include "ball.hpp"
#include <iostream>
ball::ball()
{
x = 0;
y = 0;
std::cout << "Ball erzeugt!"<< std::endl;
x = 50;
y = 50;
rect = {20,20,20,20};
color = {0,255,0,255};
}
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);
}

View File

@@ -1,9 +1,20 @@
#include "SDL2/SDL.h"
class ball
{
private:
public:
SDL_Rect rect;
float x;
float y;
float velx;
float vely;
SDL_Color color;
public:
ball();
~ball();
int GetXPos();
int GetYPos();
void Update();
void Draw(SDL_Renderer* renderer);
};

Binary file not shown.

View File

@@ -1,5 +1,6 @@
//#include "Game.h"
#include "ax_game.hpp"
#include <iostream>
int main(int argc, char** argv)
{
@@ -11,8 +12,16 @@ int main(int argc, char** argv)
}
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;
}