// // actor.c // Super Polarity // // Created by Ruben Beltran del Rio on 8/14/13. // Copyright (c) 2013 Abuguet. All rights reserved. // #include #include "actor.h" SDL_Renderer *renderer; void actorUpdate(Actor *this, Uint32 dt) { this->textureBox.x = this->pos.x; this->textureBox.y = this->pos.y; this->angle = (Uint32)(this->angle + dt / 5) % 360; } void actorDraw(Actor *this) { SDL_RenderCopyEx(renderer, this->texture, NULL, &this->textureBox, this->angle, NULL, SDL_FLIP_NONE); } // This constructor is pretty much dumb. So, don't take it as anything final. Actor* createActor () { Actor *actor = malloc(sizeof(Actor*)); actor->pos.x = 0; actor->pos.y = 0; actor->update = actorUpdate; actor->draw = actorDraw; actor->angle = 0.0; // Load the surface. SDL_Surface *benSurface; benSurface = IMG_Load("data/img/static/ben.png"); actor->texture = SDL_CreateTextureFromSurface(renderer, benSurface); actor->textureBox.x = 230; actor->textureBox.y = 150; actor->textureBox.w = 180; actor->textureBox.h = 180; SDL_FreeSurface(benSurface); return actor; }