Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-05-2010, 10:58   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2007
Beiträge: 6
Question random speed für mc bei jedem respawn neu definieren?

Hallo,

ich habe mit Hilfe eines tutorials ein sehr einfaches Spiel erstellt. Ich konnte das AS1 mit Hilfe weiterer Tutorials recht gut modifizieren, hänge nun aber an einem Detail. Hier könnte ich Hilfe gebrauchen für die ich sehr dankbar wäre.

Die Geschwindigkeit der "Gegner" wird zufällig ermittelt, allerdings pro Spielsession einmal. Der Wert wird einmal definiert und dann vererbt.
Es ist immer ein Gegner auf der stage, sobald dieser getroffen wird, wird der mc des Gegners resettet und startet erneut und kommt auf die stage. Dabei nimmt er aber die gleiche random-Geschwindigkeit an (da die random-function nur einmal ausgelöst wird), was muss geändert werden damit bei jedem reset des mc ebenfalls seine Geschwindigkeit neu definiert wird?

Code:
var bulletSpeed = 42;
var bulletReady = true;
var bulletDelay = 450;
var bulletArray = [];
var bulletCount = 0;
var score = 0;
var lives = 3;
function createBullets() {
	var bulletMc = this.attachMovie("bullet", "bullet"+bulletCount, 1000+bulletCount);
	bulletCount++;
	bulletMc._x = shipMc._x+(shipMc._width/8)-(bulletMc._width);
	bulletMc._y = shipMc._y+bulletMc._height;
	bulletArray.push(bulletMc);
}
function moveBullets() {
	if (bulletReady && Key.isDown(Key.SPACE)) {

		bulletReady = false;
		currentTime = getTimer();
		createBullets();
		ship.play();
	} else {
		if (currentTime+bulletDelay<=getTimer()) {
			bulletReady = true;
		}
	}
	for (var i = 0; i<bulletCount; i++) {
		var b = bulletArray[i];
		if (b._y>-50) {
			b._y -= bulletSpeed;
		} else {
			removeMovieClip(b);
			bulletArray.splice(i,1);
		}
		if (!hit) {
			if (b.hitTest(ob)) {
				hit = true;
				ob.play();
				removeMovieClip(b);
				bulletArray.splice(i,1);
				score += 1;
			}
		}
	}
}
var hit = false;
var obSpeed = random(10);
function createObject(o) {
	ob = this.attachMovie(o, o, 1);
	ob._x = -80;
	ob._y = 58;
}
function resetObject() {
	ob._x = -40;
	ob._y = 58;
	ob.gotoAndStop(1);
	ob.restart = false;
	hit = false;
}
function moveObject() {
	if (ob._x<540) {
		ob._x += obSpeed;
	} else {
		resetObject();
		_root.lives -= 1;
		if (_root.lives<=0) {
			var gokMc = this.attachMovie("GameOver", "GameOver", 4);
			gokMc._y = Stage.height-(maskMc._height+105);
			removeMovieClip(ob);
		}
	}
	if (ob.restart) {
		resetObject();
	}
}
createObject("asteroid");
this.onEnterFrame = function() {
	moveObject();
	moveStars();
	moveShip();
	moveBullets();
};
Ich hoffe ich habe alle notwendigen Informationen geliefert. Für Hilfe wäre ich sehr dankbar


Grüße

Olaf
Omos ist offline   Mit Zitat antworten
Alt 27-05-2010, 11:12   #2 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
try this
PHP-Code:
function resetObject() {
    
ob._x = -40;
    
ob._y 58;
    
ob.gotoAndStop(1);
    
ob.restart false;
    
hit false;
    
obSpeed random(10);

__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Alt 27-05-2010, 11:14   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Code:
var obSpeed = random(10);
function resetObject() {
  obSpeed = random(10); // liefert einen wert von 0..9 hmmm, speed 0 kann nicht sehr schnell sein?
  ..
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 27-05-2010, 19:43   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2007
Beiträge: 6
Vielen Dank an mooseMash! Hat super geklappt!

Ups @hgseib, habs gleich korrigiert, Danke für den Hinweis!


Vielen Dank!


Olaf
Omos ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Cs4 swf mittig bei jedem browser maechtling HTML und CSS 4 19-04-2010 16:09
auf jedem Browser anders WhiteChild Flash Einsteiger 2 22-04-2007 19:54
random Ordner auswählen (für random Pic ausgabe) Konsumi PHP und MySQL 5 25-06-2004 16:51
dba nicht bei jedem php server? Samuel PHP und MySQL 12 14-07-2003 11:07
mc bei jedem mal auf ner anderen x pos Transmitter ActionScript 1 5 19-10-2001 19:23


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele