Book Image

Flash Multiplayer Virtual Worlds

Book Image

Flash Multiplayer Virtual Worlds

Overview of this book

Flash virtual worlds are some of the most exciting—and profitable—online business being built today. Using Flash, developers can build interactive environments where users can interact with the virtual world and one another, compete, and have fun. Creating a playful environment on an electronic network presents unique challenges as you combine a fun, upbeat frontend with some serious and complex server logic. This handy book assists you in building amazing virtual worlds in no time by implementing ActionScripts in a Flash IDE. With this book in hand, you will build virtual worlds that have avatars walking around and interacting with non playing characters, completing challenging quests, and allowing users to link with real-world friends. The fun begins with first exploring existing virtual world games such as Club Penguin, Mole, Dofus, and World of Warcraft. We will then design our virtual environment. Then we will create avatars and move the avatars in the virtual world. We will add some triggers to add amusement and life to the virtual world. We will allow the avatars to interact with other players and create a buddy list for each user. Then we will integrate buildings and other environment to the virtual world. We will also let the players interact with non-player characters to complete some tasks. Finally, we move on to add interesting quests to the virtual world, which need to be accomplished by the player to gear up to the next level of the game. This example-rich, hands-on guide sequentially develops a multiplayer virtual world—the platform, the environment, quests, avatars, non-playing characters, and interaction between them.
Table of Contents (18 chapters)
Flash Multiplayer Virtual Worlds
Credits
About the Author
About the Reviewers
Preface

Walking by mouse click


We modify the World class to listen on mouse click event. When the mouse clicks the world, we get the isometric tile position from the mouse screen coordinate. The map is the reference to the IsometricMapData class which contains the A* pathfinding class. We set up the starting and ending points for the pathfinding class to find a path solution. Then we pass the path to the WalkingAvatar class to follow. At last we need to update the position in the room variables.

private function onMapClicked(e:MouseEvent):void {
var newIsoPosition:Point = map.s2i(stage.mouseX,stage.mouseY);
if (!map.isWalkable(newIsoPosition.x,newIsoPosition.y)){
trace("can't walk to there");
return;
}
/* find the path by A* pathfinding class */
map.astarMap.setEndPoints(myAvatar.isoPosition.x,_myAvatar. isoPosition.y,newIsoPosition.x,newIsoPosition.y);
var path:Array = map.astarMap.solve();
myAvatar.walkPath = path;
myAvatar.startWalkByPath();
/* update the userVariables*/
var params:Object ...