[TABLE=“class: tborder, width: 100%, align: center”]
[TR]
[TD=“class: alt1, bgcolor: #FFFFFF”]I’m wondering how I can reset my whole stage.
My player has to be a the start position again and all the points have to be on the same place. And the score count should be 0 again. I only managed to archieve the last thing.
Does anybody know how I can do that?
Greetings.
import flash.display.Stage;import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.text.TextField;
import flash.display.DisplayObjectContainer;
import flash.display.*;
import flash.media.Sound;
import flash.net.URLRequest;
import flash.media.SoundChannel;
//Variables
var player:MovieClip = player;
var enemy1:MovieClip = enemy1;
var enemy2:MovieClip = enemy2;
var pStepSize:int = 6;
var eStepSize:int = 2.7;
var pDir:String = new String();
var eDir1:String = new String();
var eDir2:String = new String();
var gameTimer:Timer = new Timer(0);
var squareArray:Array = new Array(square,square1,square2,square3,
square4,square5,square6,square7,
square8,square9,square10,square11,
square12,square13,square14,square15,
square16,square17,square18,square19,
square20,square21,square22,square23,
square24,square25,square26,square27,
square28);
var pointArray:Array = new Array(point,point1,point2,point3,
point4,point5,point6,point7,
point8,point9,point10,point11,
point12,point13,point14);
var eDir1Array:Array = new Array("RIGHT",
"LEFT");
var eDir2Array:Array = new Array("RIGHT",
"LEFT");
var gameOverScreen:MovieClip = gameOverScreen;
var introScreen:MovieClip = introScreen;
var winScreen:MovieClip = winScreen;
var count:Number = 0;
var sound:Sound = new Sound();
var soundRequest:URLRequest = new URLRequest("Muziek/soundtrack.mp3");
var soundChannel:SoundChannel = new SoundChannel();
var btnStop0:MovieClip = btnStop0;
//Init
stage.frameRate = 31;
player.stop();
pDir = "NONE";
eDir1 = "LEFT";
eDir2 = "RIGHT";
introScreen.visible = true;
gameOverScreen.visible = false;
winScreen.visible = false;
restartBtn.visible = false;
gameTimer.delay = 31;
gameTimer.repeatCount = 0;
gameTimer.start();
sound.load(soundRequest);
soundChannel = sound.play();
//Events
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyPressedUp);
gameTimer.addEventListener(TimerEvent.TIMER, onTick);
restartBtn.addEventListener(MouseEvent.CLICK, restart);
btnStop0.addEventListener(MouseEvent.MOUSE_DOWN,btnStop0Down);
//Function
function onTick(e:TimerEvent){
movePlayer();
collisionDetectPlayer();
pointCollisionDetect();
moveEnemy1();
moveEnemy2();
enemy1CollisionDetect();
enemy2CollisionDetect();
}
//Play again
**function restart(e:MouseEvent){
introScreen.visible = true;
winScreen.visible = false;
restartBtn.visible = false;
count = 0;
counter_txt.text = (count).toString();
soundChannel = sound.play();
}**
//Button
function btnStop0Down(e:MouseEvent){
soundChannel.stop();
}
//Player
function movePlayer(){
if (pDir == "LEFT"){
player.x -= pStepSize;
}
else{
if (pDir == "RIGHT"){
player.x += pStepSize;
}
else{
if (pDir == "UP"){
player.y -= pStepSize;
}
else{
if (pDir == "DOWN"){
player.y += pStepSize;
}
}
}
}
}
function keyPressedDown(e:KeyboardEvent){
var key:uint = e.keyCode;
if(e.keyCode == Keyboard.SPACE){
trace("Succes");
introScreen.visible = false;
gameTimer.start();
}
if(key == Keyboard.LEFT){
pDir = "LEFT";
player.play();
}
if(key == Keyboard.RIGHT){
pDir = "RIGHT";
player.play();
}
if(key == Keyboard.UP){
pDir = "UP";
player.play();
}
if(key == Keyboard.DOWN){
pDir = "DOWN";
}
}
function movePlayerBack(){
if (pDir == "LEFT"){
player.x += pStepSize;
}
else{
if (pDir == "RIGHT"){
player.x -= pStepSize;
}
else{
if (pDir == "UP"){
player.y += pStepSize;
}
else{
if (pDir == "DOWN"){
player.y -= pStepSize;
}
}
}
}
}
function keyPressedUp(e:KeyboardEvent) {
var key:uint = e.keyCode;
if(key == Keyboard.LEFT ||
key == Keyboard.RIGHT ||
key == Keyboard.UP ||
key == Keyboard.DOWN){
pDir = "NONE";
player.stop();
}
}
function collisionDetectPlayer(){
for(var i:uint = 0; i < squareArray.length;i++){
squareTemp = squareArray*
var squareTemp:MovieClip;
if(player.hitTestObject(squareTemp)){
movePlayerBack();
trace ("hit");
}
if(player.hitTestObject(enemy1)){
gameTimer.stop();
gameOverScreen.visible = true;
restartBtn.visible = true;
trace ("enemy1");
}
if(player.hitTestObject(enemy2)){
gameTimer.stop();
gameOverScreen.visible = true;
restartBtn.visible = true;
trace ("enemy2");
}
}
}
//Points
function pointCollisionDetect(){
for(var i:uint = 0; i < pointArray.length;i++){
pointTemp = pointArray*;
var pointTemp:MovieClip;
if(pointTemp.parent != null && player.hitTestObject(pointTemp)){
count = count + 10;
counter_txt.text = (count).toString();
pointTemp.parent.removeChild(pointTemp);
}
if (counter_txt.text == (150).toString()){
gameTimer.stop();
winScreen.visible = true;
restartBtn.visible = true;
}
}
}
//Enemy1
function moveEnemy1(){
if (eDir1 == "LEFT"){
enemy1.x -= eStepSize;
}else{
if (eDir1 == "RIGHT"){
enemy1.x += eStepSize;
}
}
}
function enemy1CollisionDetect(){
for(var i:uint = 0; i < squareArray.length;i++){
var squareTemp:MovieClip = squareArray*;
if(enemy1.hitTestObject(squareTemp)){
moveEnemy1Back();
chooseEnemy1Dir();
}
}
}
function moveEnemy1Back(){
if (eDir1 == "LEFT"){
enemy1.x += eStepSize;
}else if (eDir1 == "RIGHT"){
enemy1.x -= eStepSize;
}
}
function chooseEnemy1Dir(){
var randomNr:int = Math.floor(Math.random() * 2);
eDir1 = eDir1Array[randomNr];
}
//Enemy2
function moveEnemy2(){
if (eDir2 == "LEFT"){
enemy2.x -= eStepSize;
}
else{
if (eDir2 == "RIGHT"){
enemy2.x += eStepSize;
}
}
}
function enemy2CollisionDetect(){
for(var i:uint = 0; i < squareArray.length;i++){
var squareTemp:MovieClip = squareArray*;
if(enemy2.hitTestObject(squareTemp)){
moveEnemy2Back();
chooseEnemy2Dir();
}
}
}
function moveEnemy2Back(){
if (eDir2 == "RIGHT"){
enemy2.x -= eStepSize;
}
else if (eDir2 == "LEFT"){
enemy2.x += eStepSize;
}
}
function chooseEnemy2Dir(){
var randomNr:int = Math.floor(Math.random() * 2);
eDir2 = eDir2Array[randomNr];
}
[/TD]
[/TR]
[/TABLE]