René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
MovieClip_ [Ming wrapper class] | ||
A Flash movie (Movie) and a sprite (MovieClip) are very similar. The shared functionality
is defined in this class which is the base class for Movie and MovieClip.
Selected methodsStop
Stop() is a short cut method that inserts the Action Script function
stop . See the Stop() implementation.
NextFrame
NextFrame() advances the movie to the next frame.
The sourceMovieClip_.h
#ifndef MOVIE_CLIP_ABSTRACT_H #define MOVIE_CLIP_ABSTRACT_H #include <string> #include "ming.h" #include "Shape.h" #include "Button.h" #include "Action.h" #include "DisplayItem.h" #include "DisplayClip.h" #include "Morph.h" #include "TextField.h" /* A Movie and a MovieClip share some common functionality. Why not put these in an abstract base class? */ class MovieClip_ { friend class Movie; friend class MovieClip; public: virtual void Add (Action const&) = 0; virtual DisplayItem Add (Character_ &) = 0; DisplayItem Add (Character_ &, unsigned int z); virtual DisplayClip Add (MovieClip &) = 0; DisplayClip Add (MovieClip &, unsigned int z); /* Mask is very similar to Add, except that it adds a mask */ DisplayItem Mask(Character_ &, unsigned int level); DisplayClip Mask(MovieClip &, unsigned int level); /* Insert stop(); action... */ virtual void Stop () = 0; virtual void NextFrame() const = 0; virtual void Remove (DisplayItem item) = 0; virtual void Frames (int) = 0; virtual void Label (std::string const&) = 0; /* TODO virtual void StartSound() = 0; virtual void StopSound () = 0; */ }; #endif MovieClip_.cpp
#include "MovieClip_.h" DisplayItem MovieClip_::Mask(Character_ & c, unsigned int z) { DisplayItem d = Add(c); d.MaskLevel(z); return d; } DisplayClip MovieClip_::Mask(MovieClip & mc, unsigned int z) { DisplayClip dc = Add(mc); dc.MaskLevel(z); return dc; } //void MovieClip_::Add(Action const& a) { // SWFMovie_add(movie_, a.swf_block()); //} DisplayItem MovieClip_::Add(Character_ & c, unsigned int z) { DisplayItem d = Add(c); d.Z(z); return DisplayItem(d); } DisplayClip MovieClip_::Add(MovieClip & mc, unsigned int z) { DisplayClip dc = Add(mc); dc.Z(z); return DisplayClip(dc); } |