Create a Flash game like Snowflakes
Today I enjoyed a cute game called Snowflakes and I am about to show you how to create the main engine behing the game.
The game is simple: a bunch of stars (snowflakes in the game, but I guess the author new saw the snow...) is falling from the sky, and you can affect their direction with your mouse, blowing them around.
Only two objects in this movie, the star and the mouse pointer.
This is the AS2 version, tomorrow I'll publish the AS3 one.
-
// mouse cursor replacement
-
Mouse.hide();
-
_root.attachMovie("pointer","pointer",_root.getNextHighestDepth());
-
// max stars on stage
-
max_stars = 20;
-
// current stars on stage
-
stars_on_stage = 0;
-
// gravity
-
gravity = 0.1;
-
// this is the influence distance
-
// using influence and real_influence I perform the square root only once
-
// when the distance from the mouse and the star is less than real_influence
-
// then the star is affected by the mouse
-
influence = 625;
-
real_influence = Math.sqrt(influence);
-
// friction
-
friction = 0.9;
-
// divider, to make stars move slowly
-
divider = 50;
-
// main function
-
_root.onEnterFrame = function() {
-
// should I add a star?
-
if (stars_on_stage<max_stars) {
-
//adding a star
-
stars_on_stage++;
-
starobj = _root.attachMovie("star", "star_"+x, _root.getNextHighestDepth(), {_x:Math.random()*450+25, _y:Math.random()*50-100});
-
// star initial speed
-
starobj.xspeed = 0;
-
starobj.yspeed = 0;
-
// function the star will execute at every frame
-
starobj.onEnterFrame = function() {
-
// gravity
-
this.yspeed += gravity;
-
// calculating the distance from the star and the mouse
-
// without square roots
-
dist_x = this._x-_root._xmouse;
-
dist_y = this._y-_root._ymouse;
-
distance = dist_x*dist_x+dist_y*dist_y;
-
// if we are in the radius of influence...
-
if (distance<influence) {
-
// ...apply a force to the star
-
// force is determined by mouse distance and speed
-
xforce = mouse_speed*dist_x/divider;
-
yforce = mouse_speed*dist_y/divider;
-
this.xspeed += xforce;
-
this.yspeed += yforce;
-
}
-
// adding friction
-
this.xspeed *= friction;
-
this.yspeed *= friction;
-
// updating position
-
this._y += this.yspeed;
-
this._x += this.xspeed;
-
// make the star rotate
-
this._rotation += (this.xspeed+this.yspeed);
-
// if the star reaches the bottom of the stage, remove it
-
if (this._y>300) {
-
stars_on_stage--;
-
this.removeMovieClip();
-
}
-
};
-
}
-
};
-
// function to be executed by the mouse pointer
-
pointer.onEnterFrame = function() {
-
// calculating the distance from the last point the mouse was spotted
-
// and the current mouse position
-
dist_x = this._x-_root._xmouse;
-
dist_y = this._y-_root._ymouse;
-
mouse_speed = Math.sqrt(dist_x*dist_x+dist_y*dist_y);
-
// minimum speed = minimum force applied
-
if (mouse_speed<0.2) {
-
mouse_speed = 0.2;
-
}
-
// updating pointer position
-
this._x = _root._xmouse;
-
this._y = _root._ymouse;
-
-
};
And here it is... now you can affect stars movement like in the original game.
Adjust gravity, influence, friction and divider to fine tune gameplay.
They can be easily customized to meet the unique requirements of your project.
9 Responses to “Create a Flash game like Snowflakes”
Leave a Reply
Trackbacks
-
Create a Flash game like Snowflakes - AS3 version : Emanuele Feronato on
August 30th, 2008 11:30 pm
[...] announced in Create a Flash game like Snowflakes, here it is the AS3 [...]
Posts
- Rick Triqui: my first PlayCrafter game
- Prototype of a Flash game like Meeblings
- Games for the game developers!
- The art of debugging
- How to embed a text file in Flash
- Create a Flash game in minutes with PlayCrafter
- Upgrade your Flash CS4 to 10.0.2
- Play Mazeroll, my latest Box2D game
- Triqui MochiAds Arcade plugin for WordPress Released!!
- The MochiAds funnel
- Flash game creation tutorial - part 1
- Create a Lightbox effect only with CSS - no javascript needed
- Flash game creation tutorial - part 2
- Make a Flash game like Flash Element Tower Defense - Part 2
- Flash game creation tutorial - part 3
- Create a flash draw game like Line Rider or others - part 1
- Create a Flash Racing Game Tutorial
- Make a Flash game like Flash Element Tower Defense - Part 1
- Create a flash artillery game - step 1
- Create a flash draw game like Line Rider or others - part 5
- Flash game creation tutorial – part 5.2




(4.9 out of 5) - Flash game creation tutorial – part 3




(4.86 out of 5) - Creation of a platform game with Flash – step 2




(4.84 out of 5) - Create a survival horror game in Flash tutorial – part 1




(4.82 out of 5) - Create a flash artillery game – step 1




(4.82 out of 5) - Create a Flash Racing Game Tutorial




(4.8 out of 5) - Create a flash artillery game – step 2




(4.75 out of 5) - New tile based platform engine – part 6 – ladders




(4.74 out of 5) - Flash game creation tutorial – part 2




(4.73 out of 5) - The experiment – one year later




(4.7 out of 5)



cute little game, but it sure could use some relaxing music :D lol.
cool
this version is more easier than the real game :S
Hi, this is so nice. I plan to use it as basis for a game… i will be sure to notify you if my game is finished. Can i request a tutorial for a game like the Grow series specifically the seemingly random sequence of animation. thanks. You are a god amongst flash developers.
e presiso baixar que programa para mim fazer estes jogos
Flash CS 3.
When you use a button to go to the next frame, the stars still come! How do you stop this?
I have the same problem. What I’m trying to do is remove the movieclip at the same time that the event happens to take it to the nexty frame. Yeah, it’s not working. Apparently, I’m missing parameters.