Home » Actionscripts library » Math Object
|
Flashstar Bots Function
Here we have a little function to generate little bots.
/////////////////////////////////////////////////////////
//Bots Funktion Version 2.0
//By Matthias Kannengiesser
/////////////////////////////////////////////////////////
movieclip.prototype.bot = function (links,rechts,oben,unten) {
if (signal == 1) {
posx = _x;
posy = _y;
zufall = random(2);
b = _rotation;
if (zufall == 0) {
zufall = -1;
}
delta = delta_wert*zufall;
b = b+delta;
w = (b*Math.PI)/180;
new_x = posx+(s*Math.cos(w));
new_y = posy+(s*Math.sin(w));
_rotation = b;
if ((new_x>links) && (new_x<rechts)) {
_x = new_x;
} else {
b = 180-b;
}
if ((new_y>oben) && (new_y<unten)) {
_y = new_y;
} else {
b = -b;
}
_rotation = b;
}
}
/////////////////////////////////////////////////////////
//Klone Funktion Version 1.0
/////////////////////////////////////////////////////////
Movieclip.prototype.klone = function (anzahl) {
for (i =1; i < anzahl; i++) {
duplicateMovieClip (klon, "klon"+i, -i);
}
}
klone(15);
//You need an mc with an instancname: klon
//On your mc you need the following script (it's just an example):
onClipEvent (load) {
delta_wert = 10;
signal = 1;
s = 3;
}
onClipEvent (enterFrame) {
bot(7.5,400,7.5,400);
}
Posted by: Matthias Kannengiesser | website http://www.flashstar.de |
/*
Explosions Methoden v1.0
von Matthias Kannengiesser
*/
Movieclip.prototype.preinit = function (wBereich) {
x = Math.sin(_rotation%36)*random(wBereich);
y = Math.cos(_rotation%36)*random(wBereich);
}
Movieclip.prototype.initexpo = function (anzahl) {
_x = _root._xmouse;
_y = _root._ymouse;
for (i=1; i<anzahl; i++) {
this.duplicateMovieClip("n"+i, i);
_rotation += 360/anzahl;
_rotation %= 360;
_xscale += 100/anzahl;
_xscale %= 100;
_yscale += 100/anzahl;
_yscale %= 100;
}
}
Movieclip.prototype.expo = function (divX,divY,gravitation,fadeTempo,faktor,objekt) {
if (_name != objekt) {
_x -= x/divX;
_y -= y/divY;
x *= faktor;
y -= gravitation;
ny = Math.abs(_y-_root[objekt]._y);
nx = Math.abs(_x-_root[objekt]._x);
_rotation -= Math.sqrt(nx*nx+ny*ny);
_alpha -= fadeTempo;
if (_alpha<0) {
this.removeMovieClip();
}
}
}
movieclip.prototype.sfx = function (sobj) {
obj = new Sound(this)
obj.attachSound(sobj)
obj.start(0,1);
}
Call it like that:
onClipEvent (load) {
preinit(5);
}
onClipEvent (mouseUp) {
initexpo(50);
}
onClipEvent (enterFrame) {
expo(1,1,0,3,1,"mc");
}
onClipEvent (mouseUp) {
sfx("boom");
}Posted by: Matthias Kannengiesser | website http://www.flashstar.de |
|
//set number to 2 decimal places //You can set this anywhere in your timeline and use as you need anywhere in your movie.
Math.__proto__.dec2 = function (num){
valor = String (Math.round(num * 100) / 100);
dot = valor.indexOf(".");
if(dot == -1){
valor += ".0";
}
temp = valor.split(".");
addDecimals = 2 - temp[1].length;
for(i=1; i<= addDecimals; i++){
valor += "0";
}
return valor;
};
a = 0.5;
b = 0.8;
z = Math.dec2(5);//if you trace thism, z will display "5.00"
z = Math.dec2(a + b);//if you trace thism, z will display "1.30"
Posted by: LordAlex Leon | website http://www.lordalex.com |
//Implementing Calculator In Flash 5.0
//Design a gui in flash and buttons also and name the buttons as 1,2,3....
//+,-,*,/,= Etc, as needed to design the calculator
// Here in this tutorial on(release) is related with the anu button that u clicked
//go through the tutorial thoroughly if any doubts and for source fla contact me
//on my mail "arunark7@indiatimes.com" or log on to "http://www.javaguru.koolhost.com"
//"res" is a flash input text field to take input and display the output
//************ Code Starts From Here *******************
// ** action for Button 1 starts from Here***
//intially
status=0;
res=0;
status1=1;
status2=0;
op=0;
q=10;
on (release, keyPress "1") {
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+1;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+1;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(1/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(1/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 1 Ends Here***
// ** action for Button 2 starts Here***
on (release , keyPress "2") {
if((status==0) && (status2!=1))
{
res=res*10;
res=res+2;
}
if((status1==0)&&(status2!=1))
{
res=0;
res=res*10;
res=res+2;
status1=1;
status=0;
}
if((status==0)&&(status2==1))
{
res=res+(2/q);
q=q*10;
}
if((status1==0)&&(status2=1))
{
res=0;
res=res+(2/q);
q=q*10;
status1=1;
status=0;
}
}
// ** action for Button 2 Ends Here***
// ** action for Button 3 starts Here***
on (release , keyPress "3")
{
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+3;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+3;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(3/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(3/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 3 Ends Here***
// ** action for Button 4 starts Here***
on (release , keyPress "4") {
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+4;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+4;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(4/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(4/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 4 Ends Here***
// ** action for Button 5 starts Here***
on (release , keyPress "5")
{
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+5;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+5;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(5/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(5/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 5 Ends Here***
// ** action for Button 6 starts Here***
on (release , keyPress "6")
{
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+6;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+6;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(6/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(6/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 6 Ends Here***
// ** action for Button 7 starts Here***
on (release , keyPress "7")
{
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+7;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+7;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(7/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(7/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 7 Ends Here***
// ** action for Button 8 starts Here***
on (release , keyPress "8")
{
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+8;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+8;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(8/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(8/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 8 Ends Here***
// ** action for Button 9 starts Here***
on (release , keyPress "9")
{
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+9;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+9;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(9/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(9/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 9 Ends Here***
// ** action for Button 0 starts Here***
on (release, keyPress "0") {
if ((status == 0) && (status2 != 1)) {
res = res*10;
res = res+0;
}
if ((status1 == 0) && (status2 != 1)) {
res = 0;
res = res*10;
res = res+0;
status1 = 1;
status = 0;
}
if ((status == 0) && (status2 == 1)) {
res = res+(0/q);
q = q*10;
}
if ((status1 == 0) && (status2=1)) {
res = 0;
res = res+(0/q);
q = q*10;
status1 = 1;
status = 0;
}
}
// ** action for Button 0 Ends Here***
// ** action for Button "." starts Here***
on (release , keyPress ".") {
status2=1;
}
// ** action for Button "." Ends Here***
// ** action for Button "+" starts Here***
on (release , keyPress "+") {
status=1;
status1=0;
status2=0;
a1=res;
op=1;
q=10;
}
// ** action for Button "+" Ends Here***
// ** action for Button "-" starts Here***
on (release , keyPress "-") {
status = 1;
status1 = 0;
status2=0;
a1 = res;
op = 2;
q=10;
}
// ** action for Button "-" Ends Here***
// ** action for Button "*" starts Here***
on (release , keyPress "*") {
status = 1;
status1 = 0;
a1 = res;
status2=0;
op = 3;
q=10;
}
// ** action for Button "*" Ends Here***
// ** action for Button "/" starts Here***
on (release , keyPress "/") {
status = 1;
status2=0;
status1 = 0;
a1 = res;
op = 4;
q=10;
}
// ** action for Button "/" Ends Here***
// ** action for Button "c" starts Here***
on (release , keyPress "c") {
status=0;
status1=1;
status2=0;
op=0;
res=0;
q=10;
}
// ** action for Button "c" Ends Here***
// ** action for Button "+/-" starts Here***
on(release)
{
res=res*(-1);
}
// ** action for Button "+/-" Ends Here***
// ** action for Button "=" starts Here***
on (release, keyPress "<Enter>") {
if (op == 1) {
res = a1+res;
}
if (op == 2) {
res = a1-res;
}
if (op == 3) {
res = a1*res;
}
if (op == 4) {
res = a1/res;
}
status = 1;
status1 = 0;
status2 = 0;
q = 10;
}
// ** action for Button "=" Ends Here***
Posted by: H.G.Arunkumar | website http://www.javaguru.koolhost.com |
//-- smartRotation(currentRotation, targetRotation, rotationAmount) // returns: New rotation value // description: Used primarily for game AI. Given two rotation values(use getRotation to find angle between player and enemy) // it will figure out which way the unit should rotate, and given rotationAmount return the new rotational value. //PARAMS // currentRotation: the current rotation value // targetRotation: the target rotation value // rotationAmount: the amount to rotate _global.smartRotation = function(currentRotation, targetRotation, rotationAmount){ if(Math.abs(currentRotation-targetRotation)<=rotationAmount){ currentRotation = targetRotation; }else if(currentRotation != targetRotation){//if not at target if(currentRotation >= 0 && targetRotation >= 0){//if both positive if(currentRotation > targetRotation){ currentRotation -= rotationAmount; }else if(currentRotation < targetRotation){ currentRotation += rotationAmount; } }else if(currentRotation < 0 && targetRotation < 0){//if both negative if(currentRotation > targetRotation){ currentRotation -= rotationAmount; }else if(currentRotation < targetRotation){ currentRotation += rotationAmount; } }else if(currentRotation < 0 && targetRotation >= 0){//if current negative and target positive if((Math.abs(currentRotation) + Math.abs(targetRotation)) <= 180){ currentRotation += rotationAmount; }else if((Math.abs(currentRotation) + Math.abs(targetRotation)) > 180){ currentRotation -= rotationAmount; } }else if(currentRotation >= 0 && targetRotation < 0){//if current positive and target negative if((Math.abs(currentRotation) + Math.abs(targetRotation)) < 180){ currentRotation -= rotationAmount; }else if((Math.abs(currentRotation) + Math.abs(targetRotation)) >= 180){ currentRotation += rotationAmount; } } } return currentRotation; } //-- getAngle(x1,x2,y1,y2) // returns: Angle between x1,y1 and x2,y2 // description: Calculates the angle between two sets of X,Y. // x1: The X coordinate of position 1 // x2: The X coordinate of position 2 // y1: The Y coordinate of position 1 // y2: The Y coordinate of position 2 _global.getAngle = function(x1,x2,y1,y2){ getAngle_delta_x = x1-x2; getAngle_delta_y = y1-y2; getAngle_rotation = -Math.atan2(getAngle_delta_x, getAngle_delta_y)/(Math.PI/180); return getAngle_rotation; } //SAMPLE AI //on an enemy movieclip. the player is called 'player_mc' onClipEvent(load){ turnSpeed=5; } onClipEvent(enterFrame){ targetRotation = getAngle(_x,player_mc._x,_y,player_mc._y); smartRotation(_rotation, targetRotation, turnSpeed); } Posted by: abeall | website http://abeall.com |

