http://www.youtube.com/watch?v=-PJczdqs-w8
Attachment 74757Attachment 74759
there is the Main.As you should as a script.
my error is this, Attachment 74761
could you fix it?
Printable View
http://www.youtube.com/watch?v=-PJczdqs-w8
Attachment 74757Attachment 74759
there is the Main.As you should as a script.
my error is this, Attachment 74761
could you fix it?
Hi, this will at least get rid of the error codes for you,and embed the font for the score filedPHP Code:
package
{
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;//used for ENTER_FRAME event
public class Main extends MovieClip
{
const speed:int = 20;//speed of the snake
var score:int;
var vx:int;
var vy:int;
var gFood:Food;
var head:SnakePart;
var SnakeDirection:String;
var snake:Array;
public function Main()
{
if (stage)
{
init();
}
else
{
addEventListener(Event.ADDED_TO_STAGE, init);
}
}
function init(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.addEventListener(KeyboardEvent.KEY_UP , onKeyUp);
stage.addEventListener(KeyboardEvent.KEY_DOWN , onKeyDown);
//Initialize everything!
vx = 1;
vy = 0;
score = 0;
snake = new Array();
SnakeDirection = "";
//add food to the stage
addFood();
//add snakes head to the stage
head = new SnakePart();
head.x = stage.stageWidth / 2;
head.y = stage.stageHeight / 2;
snake.push(head);
addChild(head);
addEventListener(Event.ENTER_FRAME , onEnterFrame);
//ENTER_FRAME listener is attached to main class and not to the stage directly
}
//This function will add food to the stage
function addFood():void
{
gFood = new Food();
gFood.x = 50 + Math.random()*(stage.stageWidth-100);
gFood.y = 50 + Math.random()*(stage.stageHeight-100);
addChild(gFood);
}
//this function will reset the game
function reset():void
{
removeChild(gFood);
addFood();
head.x = stage.stageWidth / 2;
head.y = stage.stageHeight / 2;
vx = 1;
vy = 0;
for (var i = snake.length-1; i>0; --i)
{
removeChild(snake[i]);
snake.splice(i,1);
}
}
function onKeyDown(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT)
{
SnakeDirection = "left";
}
else if (event.keyCode == Keyboard.RIGHT)
{
SnakeDirection = "right";
}
else if (event.keyCode == Keyboard.UP)
{
SnakeDirection = "up";
}
else if (event.keyCode == Keyboard.DOWN)
{
SnakeDirection = "down";
}
}
function onKeyUp(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT)
{
SnakeDirection = "";
}
else if (event.keyCode == Keyboard.RIGHT)
{
SnakeDirection = "";
}
else if (event.keyCode == Keyboard.UP )
{
SnakeDirection = "";
}
else if (event.keyCode == Keyboard.DOWN)
{
SnakeDirection = "";
}
}
function onEnterFrame(event:Event):void
{
//setting direction of velocity
if (SnakeDirection == "left" && vx != 1)
{
vx = -1;
vy = 0;
}
else if (SnakeDirection == "right" && vx != -1)
{
vx = 1;
vy = 0;
}
else if (SnakeDirection == "up" && vy != 1)
{
vx = 0;
vy = -1;
}
else if (SnakeDirection == "down" && vy != -1)
{
vx = 0;
vy = 1;
}
//collison with stage
if (head.x - head.width / 2 <= 0)
{
score = 0;
reset();
}
if (head.x + head.width / 2 >= stage.stageWidth)
{
score = 0;
reset();
}
if (head.y - head.height / 2 <= 0)
{
score = 0;
reset();
}
if (head.y + head.height / 2 >= stage.stageHeight)
{
score = 0;
reset();
}
//move body of the snake
for (var i = snake.length-1; i>0; --i)
{
snake[i].x = snake[i - 1].x;
snake[i].y = snake[i - 1].y;
}
//changing the position of snake's head
head.x += vx * speed;
head.y += vy * speed;
//collision with tail
for (var i = snake.length-1; i>=1; --i)
{
if (snake[0].x == snake[i].x && snake[0].y == snake[i].y)
{
reset();
break;
}
}
//collision with food
if (head.hitTestObject(gFood))
{
score += 1;
removeChild(gFood);
addFood();
var bodyPart = new SnakePart();
bodyPart.x = snake[snake.length - 1].x;
bodyPart.y = snake[snake.length - 1].y;
snake.push(bodyPart);
addChild(bodyPart);
}
//display scores
txtScore.text = String(score);
}
}
}
if (stage)
{
init();
}
else
theres an error there in init() it says incorrect number of arguments, and what do you mean by embed the font for the score field..