zengine/game/zworld/src/zworld.cpp
2024-08-23 22:13:05 +08:00

52 lines
1.3 KiB
C++

#include "zworld.h"
#include "vkn/vulkan_window.h"
#include "vkn/vulkan_api.h"
#include <iostream>
using namespace api;
void ZWorldModule::OnLoad(int argc, char** argv)
{
// 创建窗口
new vkn::VulkanWindow(&SDL_CreateWindow, { "zengine" }, 1080, 720);
new vkn::VulkanAPI();
}
void ZWorldModule::OnUnload()
{
}
void ZWorldModule::MainLoop()
{
bool running = true;
SDL_Event event_;
auto win = Window::Ptr();
auto ptr = Window::Ptr()->GetPtr();
SDL_Renderer* renderer = SDL_CreateRenderer(ptr, -1, SDL_RENDERER_ACCELERATED);
if (!renderer) {
std::cerr << "无法创建渲染器: " << SDL_GetError() << std::endl;
SDL_DestroyWindow(ptr);
SDL_Quit();
}
while (running) {
// 处理事件
while (SDL_PollEvent(&event_)) {
if (event_.type == SDL_QUIT) {
running = false;
}
}
// 清除屏幕
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); // 黑色
SDL_RenderClear(renderer);
// 绘制一个红色矩形
SDL_Rect rect = { 200, 150, 400, 300 };
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); // 红色
SDL_RenderFillRect(renderer, &rect);
// 显示渲染内容
SDL_RenderPresent(renderer);
}
}