| René Nyffenegger's collection of things on the web | |
|
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
Sparks [Ming wrapper example] | ||
|
See Export.
This flash movie was created with the following program. Sparks.cpp
#include "SWFMovie.h"
int main() {
int movie_width =400;
int movie_height=400;
Movie movie ("Sparks.swf", movie_width, movie_height);
movie.BackgroundColor(10,20,30);
Gradient gradient;
gradient.Add(0.0, 0xff, 0xff, 0xff, 0xff);
gradient.Add(1.0, 0xff, 0xff, 0xff, 0);
int circle_radius=10;
Shape shape;
GradientFill gradient_fill = shape.GetRadial(gradient);
gradient_fill.ScaleXYTo(
float(circle_radius)/movie_width /2,
float(circle_radius)/movie_height/2);
shape.Fill(gradient_fill);
shape.Circle(circle_radius);
MovieClip clip;
clip.Add(shape);
clip.NextFrame();
movie.Export(clip, "Sparkle");
Action as(
"sparkles = [];"
"cnt_sparkles =20;"
"function init_sparkle(s) {"
" var angle = Math.random() * 2.0 * Math.PI;"
" var vel = Math.random() * 20.0;"
" s.x_vel=Math.sin(angle)*vel;"
" s.y_vel=Math.cos(angle)*vel;"
" s.x=_xmouse;"
" s.y=_ymouse;"
"}"
"function move_sparkle(s) {"
" s._x = s.x;"
" s._y = s.y;"
" s.y_vel += 4;"
" s.x = s.x+s.x_vel;"
" s.y = s.y+s.y_vel;"
" if (s.y>400) {"
" init_sparkle(s);"
" }"
"}"
"for(var i=0; i<cnt_sparkles; i++) {"
" sparkles[i]=_root.attachMovie('Sparkle','some_counter'+i,i+10);"
" init_sparkle(sparkles[i]);"
" move_sparkle(sparkles[i]);"
"}"
"_root.onEnterFrame = function() {"
" for(var i=0; i<cnt_sparkles; i++){"
" move_sparkle(sparkles[i]);"
" }"
"};"
);
movie.Add(as);
return 0;
}This is one of a series of examples that demonstrates the C++ ming wrapper classes. Other examples can be found here.
|