Internet Commerce

Partners & Affiliates

Developer Channel


Featured Flash FLA
Gallery Downloads 11401 Flash Movies | 5 New Flash Movies Added
What's New | Top 100

Featured FLA

»  Author: Nick Kouvaris
»  Title: Znax
»  Description: Znax is a board game. Click 4 tiles of the same color and form squares as big as you can. You will erase all the tiles inside the square and collect points. Get maximum score if you make a square with game edges.
»  More by: Nick Kouvaris


Random FLAs | Add Flash Movie
Featured Flash Site
Gallery Downloads 4941 Flash Sites | 1 New Flash Links
What's New | Top 100 Flash Site

Featured Site

»  Author Agence WOP Digital Agency
»  Title: Electricdrum
»  Description: French WOP Agency, 3D websites, Flash (Papervision, Away 3D), event or institutional projects. The agency operates on all digital projects: consulting, design, graphic design, development, online communication. The WOP agency follows you on the implementation of original, creative and optimized digital projects.


Random Links | Add your own Flash Related Links
Flash Tutorials 1481 Tutorials 7 New Tutorials Added!
What's New | Top100

» How To Make A Simple Animation Using Christmas Clips
» Simple Step by step flash game tutorial Spot the diffrence
» How To Make A Moving Text Slide
» Create Flash Banner With Text Float Effect
» How To Make Zoo Photos Slideshow
» How To Make A Dolphin Photos Slideshow
» How To Make A Fathers Day Slideshow
» How To Make A Transparent Background of Your Flash File
» Create Flash Banner With Text Disco Light Effect Today we will introduce you a Text Disco Light eff
» Unknown Tag: Title10
Random Tutorial | Add Site


Tutorials Home What's New Top Rated Submit myTutes Random!

Search Tutorials


Tutorials Tutorials » Games

Categories Tile Based World - Part 1 the Engine
Author: Steven Richardson

 
Page 1
1 2 3 4 next»

Tile Based World Part 1

The Engine

Lets Start

Right, set your page to 540x360 and then create 3 blank keyframes.

Now go to the library and click the blue new symbol button and select movie and call it man, press ok. Now draw you man 20x20, for now i recommend a circle.

The first bit of coding

on the first frame of the man movie add this

// vars
_root.floorx = Math.floor(_x/20);
_root.floory = Math.floor(_y/20);
_root.floorxl = Math.floor(_x/20)-1;
_root.flooryl = Math.floor(_y/20);
_root.floorxr = Math.floor(_x/20)+1;
_root.flooryr = Math.floor(_y/20);
_root.floorxu = Math.floor(_x/20);
_root.flooryu = Math.floor(_y/20)-1;
_root.floorxd = Math.floor(_x/20);
_root.flooryd = Math.floor(_y/20)+1;
// diags
_root.floorxlu= Math.floor(_x/20)-1;
_root.floorylu = Math.floor(_y/20)-1;
_root.floorxld= Math.floor(_x/20)-1;
_root.flooryld = Math.floor(_y/20)+1;
_root.floorxru= Math.floor(_x/20)+1;
_root.flooryru = Math.floor(_y/20)-1;
_root.floorxrd= Math.floor(_x/20)+1;
_root.flooryrd = Math.floor(_y/20)+1;

This is to set a coordinate to find out what the 8 20x20 squares around you are e.g a wall or floor

then add this under it

// rands
_root.rand = random (2)+1;
// left
if (eval("_root.map.M" add _root.flooryl)[_root.floorxl] == 0) {
 _root.cangoleft = false;
} else if (eval("_root.map.M" add _root.flooryl)[_root.floorxl] == 1) {
 _root.cangoleft = true;
}
// right
if (eval("_root.map.M" add _root.flooryr)[_root.floorxr] == 0) {
 _root.cangoright = false;
} else if (eval("_root.map.M" add _root.flooryr)[_root.floorxr] == 1) {
 _root.cangoright = true;
}
// UP
if (eval("_root.map.M" add _root.flooryu)[_root.floorxu] == 0) {
 _root.cangoup = false;
} else if (eval("_root.map.M" add _root.flooryu)[_root.floorxu] == 1) {
 _root.cangoup = true;
}
// Down
if (eval("_root.map.M" add _root.flooryd)[_root.floorxd] == 0) {
 _root.cangodown = false;
} else if (eval("_root.map.M" add _root.flooryd)[_root.floorxd] == 1) {
 _root.cangodown = true;
}
// diagonal
if (eval("_root.map.M" add _root.floorylu)[_root.floorxlu] == 0 and Key.isDown(Key.UP) and Key.isDown(Key.LEFT) and _root.rand == 1) {
 _root.cangoleft = false;
} else if (eval("_root.map.M" add _root.floorylu)[_root.floorxlu] == 0 and Key.isDown(Key.UP) and Key.isDown(Key.LEFT) and _root.rand == 2) {
 _root.cangoup = false;
}
if (eval("_root.map.M" add _root.flooryld)[_root.floorxld] == 0 and Key.isDown(Key.DOWN) and Key.isDown(Key.LEFT) and _root.rand == 1) {
 _root.cangoleft = false;
} else if (eval("_root.map.M" add _root.flooryld)[_root.floorxld] == 0 and Key.isDown(Key.DOWN) and Key.isDown(Key.LEFT) and _root.rand == 2) {
 _root.cangodown = false;
}
if (eval("_root.map.M" add _root.flooryrd)[_root.floorxrd] == 0 and Key.isDown(Key.DOWN) and Key.isDown(Key.RIGHT) and _root.rand == 1) {
 _root.cangoright = false;
} else if (eval("_root.map.M" add _root.flooryrd)[_root.floorxrd] == 0 and Key.isDown(Key.DOWN) and Key.isDown(Key.RIGHT) and _root.rand == 2) {
 _root.cangodown = false;
}
if (eval("_root.map.M" add _root.flooryru)[_root.floorxru] == 0 and Key.isDown(Key.UP) and Key.isDown(Key.RIGHT) and _root.rand == 1) {
 _root.cangoright = false;
} else if (eval("_root.map.M" add _root.flooryru)[_root.floorxru] == 0 and Key.isDown(Key.UP) and Key.isDown(Key.RIGHT) and _root.rand == 2) {
 _root.cangoup = false;
}

the first bit "//rands" sets a random var for the diagonal cango hittest to stop you going through the walls and the rest is to check the for the collision

then add a second frame with this action

gotoAndPlay (1);

And right click on the man movie in the library and select linkage and export this symbol and call it man

1 2 3 4 next»

» Level Intermediate

Added: : 2002-03-18
Rating: 4.91 Votes: 85
Hits: 789
» Author
Steven Richardson
» Download
Download the files used in this tutorial.
Download (20 kb)
Get conversion and unzipping tools for PC and Mac here!

» Forums
More help? Search our boards for quick answers!

Please rate this tutorial, 10 is the top rating, you can also click the comments link to read/write a review.
10 9 8 7 6 5 4 3 2 1
Read or Post Comments