From: grumbel Date: Mon, 22 Feb 2010 17:28:37 +0000 (+0000) Subject: Added some code for a very basic snowman X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=664b8d5cb89f2e4ddf022669b9319accf049e668;p=supertux.git Added some code for a very basic snowman git-svn-id: http://supertux.lethargik.org/svn/supertux/trunk/supertux@6392 837edb03-e0f3-0310-88ca-d4d4e8b29345 --- diff --git a/data/images/creatures/snowman/snowman.sprite b/data/images/creatures/snowman/snowman.sprite index d9b0115d5..ade468031 100644 --- a/data/images/creatures/snowman/snowman.sprite +++ b/data/images/creatures/snowman/snowman.sprite @@ -1,7 +1,7 @@ (supertux-sprite (action - (name "walk") - (fps 8.0) + (name "walk-left") + (fps 12.0) (hitbox 10 3 36 72) (images "walk1.png" "walk2.png" @@ -10,6 +10,12 @@ "walk5.png" "walk6.png" "walk7.png" - "walk8.png"))) + "walk8.png")) + + (action + (name "walk-right") + (hitbox 10 3 36 72) + (mirror-action "walk-left") + )) ;; EOF ;; diff --git a/data/levels/test/nightcave.stl b/data/levels/test/nightcave.stl index 508f3d0a0..b03ac57f1 100644 --- a/data/levels/test/nightcave.stl +++ b/data/levels/test/nightcave.stl @@ -15,47 +15,46 @@ (decal (x 384) (y 1024) - (sprite "images/decal/nightcave/lightflower1.png") ) (decal (x 2528) (y 960) - (sprite "images/decal/nightcave/lightflower2.png") ) (decal (x 2320) (y 1008) - (sprite "images/decal/nightcave/lightflower3.png") ) (decal - (x 1744) + (x 1712) (y 816) - (sprite "images/decal/nightcave/lightflower1.png") ) (decal - (x 1952) + (x 1920) (y 928) - (sprite "images/decal/nightcave/lightflower2.png") ) (decal (x 2976) (y 944) - (sprite "images/decal/nightcave/lightflower3.png") ) (decal (x 1344) (y 496) - (sprite "images/decal/nightcave/lightflower1.png") ) (decal (x 720) (y 752) - (sprite "images/decal/nightcave/lightflower2.png") ) (decal - (x 1024) + (x 992) (y 704) - (sprite "images/decal/nightcave/lightflower3.png") + ) + (snowman + (x 1059) + (y 676) + ) + (snowman + (x 1891) + (y 900) ) (spawnpoint (name "main") diff --git a/src/badguy/snowman.cpp b/src/badguy/snowman.cpp new file mode 100644 index 000000000..ba22e0b90 --- /dev/null +++ b/src/badguy/snowman.cpp @@ -0,0 +1,39 @@ +// SuperTux +// Copyright (C) 2010 Ingo Ruhnke +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include "badguy/snowman.hpp" + +Snowman::Snowman(const Reader& reader) : + WalkingBadguy(reader, "images/creatures/snowman/snowman.sprite", "walk-left", "walk-right") +{ + walk_speed = 40; +} + +Snowman::Snowman(const Vector& pos, Direction d) : + WalkingBadguy(pos, d, "images/creatures/snowman/snowman.sprite", "walk-left", "walk-right") +{ + walk_speed = 40; +} + +bool +Snowman::collision_squished(GameObject& object) +{ + sprite->set_action(dir == LEFT ? "squished-left" : "squished-right"); + kill_squished(object); + return true; +} + +/* EOF */ diff --git a/src/badguy/snowman.hpp b/src/badguy/snowman.hpp new file mode 100644 index 000000000..fd9438a0b --- /dev/null +++ b/src/badguy/snowman.hpp @@ -0,0 +1,37 @@ +// SuperTux +// Copyright (C) 2010 Ingo Ruhnke +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#ifndef HEADER_SUPERTUX_BADGUY_SNOWMAN_HPP +#define HEADER_SUPERTUX_BADGUY_SNOWMAN_HPP + +#include "badguy/walking_badguy.hpp" + +#include "sprite/sprite.hpp" +#include "supertux/object_factory.hpp" + +class Snowman : public WalkingBadguy +{ +public: + Snowman(const Reader& reader); + Snowman(const Vector& pos, Direction d); + +protected: + bool collision_squished(GameObject& object); +}; + +#endif + +/* EOF */