From 55c8a14a7e2b2dadf0def3e09f970818164366f5 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Thu, 18 Jun 2015 12:14:05 -0400 Subject: Now displaying player character --- src/components/sprite_renderable.cpp | 27 +++++++++++++++++++++ src/components/sprite_renderable.h | 25 +++++++++++++++++++ src/components/transformable.cpp | 47 ++++++++++++++++++++++++++++++++++++ src/components/transformable.h | 27 +++++++++++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 src/components/sprite_renderable.cpp create mode 100644 src/components/sprite_renderable.h create mode 100644 src/components/transformable.cpp create mode 100644 src/components/transformable.h (limited to 'src/components') diff --git a/src/components/sprite_renderable.cpp b/src/components/sprite_renderable.cpp new file mode 100644 index 0000000..4c61111 --- /dev/null +++ b/src/components/sprite_renderable.cpp @@ -0,0 +1,27 @@ +#include "sprite_renderable.h" + +SpriteRenderableComponent::SpriteRenderableComponent(const char* filename, int frame_width, int frame_height, int frames_across) + : texture(filename), frame_width(frame_width), frame_height(frame_height), frames_across(frames_across) +{ + +} + +int SpriteRenderableComponent::getFrame() const +{ + return frame; +} + +void SpriteRenderableComponent::setFrame(int frame) +{ + this->frame = frame; +} + +const Texture& SpriteRenderableComponent::getTexture() const +{ + return texture; +} + +Rectangle SpriteRenderableComponent::getFrameRect() const +{ + return {frame_width * (frame % frames_across), frame_height * (frame / frames_across), frame_width, frame_height}; +} diff --git a/src/components/sprite_renderable.h b/src/components/sprite_renderable.h new file mode 100644 index 0000000..b4465c3 --- /dev/null +++ b/src/components/sprite_renderable.h @@ -0,0 +1,25 @@ +#ifndef SPRITE_RENDERABLE_H_D3AACBBF +#define SPRITE_RENDERABLE_H_D3AACBBF + +#include "component.h" +#include "renderer.h" + +class SpriteRenderableComponent : public Component { + public: + SpriteRenderableComponent(const char* filename, int frame_width, int frame_height, int frames_across); + + int getFrame() const; + void setFrame(int frame); + + const Texture& getTexture() const; + Rectangle getFrameRect() const; + + private: + Texture texture; + int frame_width; + int frame_height; + int frames_across; + int frame = 0; +}; + +#endif /* end of include guard: SPRITE_RENDERABLE_H_D3AACBBF */ diff --git a/src/components/transformable.cpp b/src/components/transformable.cpp new file mode 100644 index 0000000..0d6b67e --- /dev/null +++ b/src/components/transformable.cpp @@ -0,0 +1,47 @@ +#include "transformable.h" + +TransformableComponent::TransformableComponent(double x, double y, int w, int h) + : x(x), y(y), w(w), h(h) +{ + +} + +double TransformableComponent::getX() const +{ + return x; +} + +double TransformableComponent::getY() const +{ + return y; +} + +int TransformableComponent::getW() const +{ + return w; +} + +int TransformableComponent::getH() const +{ + return h; +} + +void TransformableComponent::setX(double v) +{ + x = v; +} + +void TransformableComponent::setY(double v) +{ + y = v; +} + +void TransformableComponent::setW(int v) +{ + w = v; +} + +void TransformableComponent::setH(int v) +{ + h = v; +} diff --git a/src/components/transformable.h b/src/components/transformable.h new file mode 100644 index 0000000..87ba84d --- /dev/null +++ b/src/components/transformable.h @@ -0,0 +1,27 @@ +#ifndef LOCATABLE_H_39E526CA +#define LOCATABLE_H_39E526CA + +#include "component.h" + +class TransformableComponent : public Component { + public: + TransformableComponent(double x, double y, int w, int h); + + double getX() const; + double getY() const; + int getW() const; + int getH() const; + + void setX(double v); + void setY(double v); + void setW(int v); + void setH(int v); + + private: + double x; + double y; + int w; + int h; +}; + +#endif /* end of include guard: LOCATABLE_H_39E526CA */ -- cgit 1.4.1