A Flash Developer Resource Site














Internet Commerce

Partners & Affiliates














Developer Channel

internet.com


Featured Flash FLA
Gallery Downloads 11336 Flash Movies | 2 New Flash Movies Added
What's New | Top 100

Featured FLA

» Author: Surjit Dhami
» Title: Book
» Description: Book
» More by Surjit Dhami


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

Featured Site

» Posted in the Flash Kit Links section
» Title: All-American Rejects
» Description: Get to know this great band by exploring their "practice room".


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

» Create xml slideshow with free template
» How to Insert a Multilingual Subtitle Into Your Flash Video Studio
» How to Create Cool Halloween Slideshow
» Debugging flash using the Firebug console
» Create Flash Slideshow on Blogger
» FLASH TRICKS IN WEB ADVERTISING: FLASH BANNERS
» HTML Photo Gallery Tutorial
» Create your first flash site – PART 1
» How to Make a Flash Photo Gallery
» Unknown Tag: Title10
Random Tutorial | Add Site

Sr Instructional Designer D2L-Moodle,Clearance
WSI Nationwide, Inc.
US-NJ-Fort Monmouth

Justtechjobs.com Post A Job | Post A Resume


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: 5.01 Votes: 81
Hits: 785
» 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
 
   
 

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs