Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-11-2006, 14:19   #1 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
[stuff] homing missiles

hallo zusammen,

habe für den "readme.txt" (kennt ihr aus diesem forum) eine kleine
sache kurz zusammengescriptet. das ganze ist eine kleine engine
die ein paar "missiles" auf ein beliebig zu definierendes ziel über
eine kurvenlaufbahn schickt.

habe noch ein wenig blur hier und da hinzuaddiert. vielleicht kann
der eine oder andere das ganze ja auch brauchen...

ansehen

runter damit


für feedback bin ich natürlich immer zu haben

pwd
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 09-11-2006, 16:58   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Zitat:
Zitat von pwdVergesser Beitrag anzeigen
für feedback bin ich natürlich immer zu haben
Schick, schick!

Wie wärs, wenn man per Mouseclick
das Ziel immer neu festsetzen könnte?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 09-11-2006, 17:13   #3 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
klar...

war nur ein beispiel für "readme.txt" kann man natürlich
locker noch einbauen und habe ich in diesem script auch
schon gemacht (s.u.)!

wobei es auch noch lustig aussieht, wenn man, nicht wie
ich es jetzt (s.u.) beim mouseclick gemacht habe efxStage.dispose();
einfach weg läßt.
ich habe es hier mal beim re-initialisieren mal dazugenommen, aber macht
man das nicht entstehen lustige patterns...


Code:

/////////////////////////////////////////////////////
//  flugbahn 
//	author : frank reitberger
//	site : http://www.dasprinzip.com
//  copyright 2006
/////////////////////////////////////////////////////


// --------------------------------------------------------------------------------------------------


stop();


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// import flash filter classes
///////////////////////////////////


import flash.display.BitmapData;
import flash.filters.*;
import flash.geom.*;

// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// setup  global vars
///////////////////////////////////

var maxDots:Number = 5;
var missiles:Array = new Array();
var xDeplac:Number = 0;
var yDeplac:Number = 0;


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// explosion effect
///////////////////////////////////


function explode(xpos:Number, ypos:Number) {
	
	attachMovie("boom","blowUP",getNextHighestDepth(),{_x:xpos , _y:ypos});

}


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// paint flugbahn
///////////////////////////////////


function paint() {
	
	var spriteThrower = function() {

		this.beginFill(0xffffff,100);
        this.moveTo(this._x, this._y);
		this.lineTo(this._x+2, this._y+2);
		this.lineTo(this._x-2, this._y+2);
		this.lineTo(this._x, this._y);
		this.endFill();

		_root.efxStage.draw(this);
		
		var dx = _root["pt02"]._x - this._x;
		var dy = _root["pt02"]._y - this._y;
		this.vx += dx * this.k;
		this.vy += dy * this.k;
		this.vx *= this.tx;
		this.vy *= this.ty;
		this._x += this.vx;
		this._y += this.vy;
		
		if (Math.round(this._x) == (_root["pt02"]._x) && Math.round(this._y) == (_root["pt02"]._y)) {
			explode(this._x,this._y);
			removeMovieClip(this);
		}
			

		this.clear();
		

	}
	
		
	for (var i:Number = 0; i < missiles.length; i++) {
		
		var sprite:MovieClip = missiles[i];
		
		sprite.vx = 0;
		sprite.vy = 0;
		sprite.k = .4444444;
		
		var curve:Number = Math.round(Math.random() * 2);

		if (curve == 1) {
			sprite.tx = .4 * Math.cos(Math.random() * .99999);
			sprite.ty = .4 * Math.sin(Math.random() * .99999);
		} else {
			sprite.tx = .4 * Math.sin(Math.random() * .99999);
			sprite.ty = .4 * Math.cos(Math.random() * .99999);
		}
		
		if (sprite.tx < 0.1) {
			sprite.tx += 0.444;
		}
		if (sprite.ty < 0.1) {
			sprite.ty += 0.444;
		}		
		
		sprite.onEnterFrame = spriteThrower;
		
	}


}
	
// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// configure canvas
///////////////////////////////////

function initStage(xPos:Number,yPos:Number) {
	
	createEmptyMovieClip("pt01",getNextHighestDepth());
	createEmptyMovieClip("pt02",getNextHighestDepth());
	
	this["pt01"]._x = this["pt01"]._y = 100;
	this["pt02"]._x = this["pt02"]._y = 300;
	
	if (xPos != undefined) {
		this["pt02"]._x = xPos;
		this["pt02"]._y = yPos;
		
		efxStage.dispose();
		
		for (var i:Number = 0; i < maxDots; i++) {
			
			removeMovieClip("dot" + i);
			
		}
		
	}
	
	for (var i:Number = 0; i < maxDots; i++) {
		
		var sprite:MovieClip = createEmptyMovieClip("dot" + i,getNextHighestDepth());
		
		sprite._x = sprite._y = this["pt01"]._x;
		
		missiles.push(sprite);
		
	}
	
	efxStage = new BitmapData(Stage.width, Stage.height, true, 0x00FFFFFF);
	
	createEmptyMovieClip("efxClip", getNextHighestDepth());
	efxClip.attachBitmap(efxStage, getNextHighestDepth());
	efxClip._x = efxClip._y = 0;

	this["efxClip"].onEnterFrame = function() {
		
		_root.efxStage.colorTransform(_root.efxStage.rectangle, new ColorTransform(1, 1, 1, 1, 29, 3, -1, -1));
		_root.efxStage.applyFilter(_root.efxStage, _root.efxStage.rectangle, new Point(0, 0), new BlurFilter(2, 2, 1));	
		
	}
	
	paint();
	
}


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// add mouse to control filter
///////////////////////////////////


var mouseListener:Object = new Object();


mouseListener.onMouseDown = function() {
	initStage(_xmouse,_ymouse);
}

Mouse.addListener(mouseListener);


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// init
///////////////////////////////////


initStage();

pwd
__________________
Blog/Lab Xing

Geändert von pwdVergesser (09-11-2006 um 17:14 Uhr)
pwdVergesser ist offline   Mit Zitat antworten
Alt 09-11-2006, 17:15   #4 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Von mir auch nochmal danke
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele