| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| habs vergessen 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 |
| | |
| | #3 (permalink) |
| habs vergessen 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 Geändert von pwdVergesser (09-11-2006 um 17:14 Uhr) |
| | |
| | #4 (permalink) |
| no guts no glory 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.' |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |