X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fdart.cpp;h=bfed64a6d42596eec38ab35b51ff66664ebf42aa;hb=198f758764fff064a47630b5d0f1e3d6aabe95a8;hp=393474e31b0360e748bf6b80c2bcf1db65ad8f78;hpb=a113d3bd1feddd510e3b2852b0d42522735eee40;p=supertux.git diff --git a/src/badguy/dart.cpp b/src/badguy/dart.cpp index 393474e31..bfed64a6d 100644 --- a/src/badguy/dart.cpp +++ b/src/badguy/dart.cpp @@ -1,7 +1,7 @@ // $Id$ // // Dart - Your average poison dart -// Copyright (C) 2006 Christoph Sommer +// Copyright (C) 2006 Christoph Sommer // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -29,27 +29,29 @@ namespace { static const std::string SOUNDFILE = "sounds/flame.wav"; Dart::Dart(const lisp::Lisp& reader) - : BadGuy(reader, "images/creatures/dart/dart.sprite"), parent(0) + : BadGuy(reader, "images/creatures/dart/dart.sprite"), parent(0) { physic.enable_gravity(false); countMe = false; + sound_manager->preload(SOUNDFILE); sound_manager->preload("sounds/darthit.wav"); sound_manager->preload("sounds/stomp.wav"); } Dart::Dart(const Vector& pos, Direction d, const BadGuy* parent = 0) - : BadGuy(pos, d, "images/creatures/dart/dart.sprite"), parent(parent) + : BadGuy(pos, d, "images/creatures/dart/dart.sprite"), parent(parent) { physic.enable_gravity(false); countMe = false; + sound_manager->preload(SOUNDFILE); sound_manager->preload("sounds/darthit.wav"); sound_manager->preload("sounds/stomp.wav"); } Dart::Dart(const Dart& other) - : BadGuy(other), parent(other.parent) + : BadGuy(other), parent(other.parent) { - sound_source.reset(sound_manager->create_sound_source(SOUNDFILE)); + sound_manager->preload(SOUNDFILE); sound_manager->preload("sounds/darthit.wav"); sound_manager->preload("sounds/stomp.wav"); } @@ -78,11 +80,15 @@ Dart::write(lisp::Writer& writer) } void -Dart::activate() +Dart::initialize() { physic.set_velocity_x(dir == LEFT ? -::SPEED : ::SPEED); sprite->set_action(dir == LEFT ? "flying-left" : "flying-right"); +} +void +Dart::activate() +{ sound_source.reset(sound_manager->create_sound_source(SOUNDFILE)); sound_source->set_position(get_pos()); sound_source->set_looping(true);