Frame 1
function create() {
this.monstercount = 0;
blob_array = new Array();
var i = 0;
while (i < 3) {
blob = this.attachMovie("blobBody_mc", "blob" + i, i);
i++;
}
}
function reset() {
var i = 0;
while (i < 3) {
blob = eval ("blob" + i);
removeMovieClip(blob.face);
var j = 0;
while (j < blob.feet.length) {
removeMovieClip(blob.feet[j]);
j++;
}
removeMovieClip("blob" + i);
i++;
}
create();
}
BlobMonster = function () {
this._parent.monstercount++;
this._parent.depthCount++;
this.name = this._parent.depthCount;
this.feet = new Array();
this.radius = random(30) + 20;
this.numberOfFeet = 20;
this.gravity = 0.4;
this.colorVal = color_array[random(color_array.length)];
this._x = monstercount * 150;
this._y = 200;
if (random(70) == 0) {
this.egg = true;
}
var i = 0;
while (i < this.numberOfFeet) {
this._parent.depthCount++;
this.blob = this._parent.attachMovie("blobFoot_mc", (this.name + "_foot") + this._parent.depthCount, this._parent.depthCount);
this.blob.setParent(this);
this.blob.id = i;
if (this.egg) {
this.blob.setInitialPosition(Math.sin((Math.PI*2) * (i / (this.numberOfFeet - 1))) * (this.radius + (0 * Math.cos(Math.PI * (i / (this.numberOfFeet - 1))))), (-Math.cos((Math.PI*2) * (i / (this.numberOfFeet - 1)))) * (this.radius + (10 * Math.cos((Math.PI*2) * (i / (this.numberOfFeet - 1))))));
} else {
this.blob.setInitialPosition(Math.sin((Math.PI*2) * (i / (this.numberOfFeet - 1))) * this.radius, (-Math.cos((Math.PI*2) * (i / (this.numberOfFeet - 1)))) * this.radius);
}
this.feet.push(this.blob);
i++;
}
this._parent.depthCount++;
this.face = this._parent.attachMovie("blobFace_mc", (this.name + "_face") + this._parent.depthCount, this._parent.depthCount);
this.face.parent = this;
this.face._x = this._x;
this.face._y = this._y;
this.face.onEnterFrame = function () {
this._x = this._x - ((this._x - this.parent._x) / 1.3);
this._y = this._y - ((this._y - this.parent._y) / 1.3);
if ((this._y >= 234) || (this._y <= 0)) {
this._y = Math.max(Math.min(this._y, 234), 0);
}
if ((this._x >= 500) || (this._x <= 0)) {
this._x = Math.max(Math.min(this._x, 500), 0);
}
};
this.face.face._yscale = this.radius * 2;
this.face.face._xscale = this.face.face._yscale;
this.face.face.gotoAndStop(3);
if (random(20) == 1) {
this.colorVal = 16737996 /* 0xFF66CC */;
this.feet[0]._visible = true;
this.feet[0].gotoAndStop(2);
} else if (random(30) == 1) {
this.fella = true;
this.face.gotoAndStop(2);
this.colorVal = 7768437 /* 0x768975 */;
this.feet[3].gotoAndStop(3);
this.feet[3]._visible = true;
this.feet[3]._xscale = this.face._xscale / 2;
this.feet[3]._yscale = this.face._yscale / 2;
this.feet[16].gotoAndStop(3);
this.feet[16]._visible = true;
this.feet[16]._xscale = (-this.face._xscale) / 2;
this.feet[16]._yscale = this.face._yscale / 2;
} else if (random(30) == 1) {
this.face.gotoAndStop(3);
this.colorVal = 16769023 /* 0xFFDFFF */;
this.feet[2].gotoAndStop(5);
this.feet[2]._visible = true;
this.feet[2]._xscale = this.face._xscale;
this.feet[2]._yscale = this.face._yscale;
this.feet[17].gotoAndStop(5);
this.feet[17]._visible = true;
this.feet[17]._xscale = -this.face._xscale;
this.feet[17]._yscale = this.face._yscale;
} else if (random(30) == 1) {
this.face.gotoAndStop(5);
this.colorVal = 13561855 /* 0xCEEFFF */;
this.feet[2].gotoAndStop(4);
this.feet[2]._visible = true;
this.feet[2]._xscale = this.face.face._xscale;
this.feet[2]._yscale = this.face.face._yscale;
this.feet[17].gotoAndStop(4);
this.feet[17]._visible = true;
this.feet[17]._xscale = -this.feet[2]._xscale;
this.feet[17]._yscale = this.face.face._yscale;
this.feet[0].gotoAndStop(6);
this.feet[0]._visible = true;
this.feet[0]._xscale = this.face.face._xscale;
this.feet[0]._yscale = this.face.face._yscale;
this.face.face._yscale = this.face.face._yscale * 0.75;
this.face.face._xscale = this.face.face._xscale * 0.75;
} else if (random(80) == 1) {
this.face.gotoAndStop(7);
this.colorVal = 16769792 /* 0xFFE300 */;
this.feet[4].gotoAndStop(7);
this.feet[4]._visible = true;
this.feet[4]._xscale = this.face.face._xscale;
this.feet[4]._yscale = this.face.face._yscale;
this.feet[15].gotoAndStop(8);
this.feet[15]._visible = true;
this.feet[15]._xscale = this.face.face._xscale;
this.feet[15]._yscale = this.face.face._yscale;
} else if (random(250) == 1) {
this.colorVal = 16763695 /* 0xFFCB2F */;
this.face.gotoAndStop(4);
this.feet[0].isStar = true;
}
if (!this._parent.blob_array) {
this._parent.blob_array = new Array();
}
this._parent.blob_array.push(this);
this._xv = random(7) - 3;
this._yv = random(7) - 3;
this.onEnterFrame = this.frameMove;
this.onPress = this.startDragging;
this.onRelease = this.stopDragging;
this.onReleaseOutside = this.stopDragging;
};
BlobMonster.prototype = new MovieClip();
BlobMonster.prototype.distance = function (movClip, offset) {
var distx = (this._x - movClip._x);
var disty = (this._y - movClip._y);
return(Math.sqrt((distx * distx) + (disty * disty)));
};
BlobMonster.prototype.xdistance = function (movClip) {
var xdist = (this._x - movClip._x);
return(xdist);
};
BlobMonster.prototype.ydistance = function (movClip) {
var ydist = (this._y - movClip._y);
if (ydist < 0) {
ydist = ydist - 3;
} else {
ydist = ydist + 3;
}
return(ydist);
};
BlobMonster.prototype.startDragging = function () {
this.startDrag(false);
this.dragging = true;
this._yv = 0;
this._xv = 0;
};
BlobMonster.prototype.stopDragging = function () {
stopDrag();
this._yv = (this._parent._ymouse - this._parent.ms._y) / 3;
this._xv = (this._parent._xmouse - this._parent.ms._x) / 3;
this.dragging = false;
};
BlobMonster.prototype.frameMove = function () {
if (!this.dragging) {
this._yv = this._yv + this.gravity;
this._x = this._x + this._xv;
this._y = this._y + this._yv;
}
this.clear();
this.lineStyle(3, this.colorVal, 100);
this.beginFill(this.colorVal, 70);
this.moveTo(this.feet[this.feet.length - 1]._x - this._x, this.feet[this.feet.length - 1]._y - this._y);
var foot = 1;
while (foot < (this.feet.length - 1)) {
this.lineTo(this.feet[foot]._x - this._x, this.feet[foot]._y - this._y);
foot++;
}
this.lineTo(this.feet[this.feet.length - 1]._x - this._x, this.feet[this.feet.length - 1]._y - this._y);
this.endFill();
};
Object.registerClass("blobBody_mc", BlobMonster);
BlobMonsterFoot = function () {
this._xv = 0;
this._yv = 0;
this._visible = false;
this.onEnterFrame = this.frameMove;
this.dampening = 0.97;
};
BlobMonsterFoot.prototype = new MovieClip();
BlobMonsterFoot.prototype.setParent = function (parentclip) {
this.parent = parentclip;
};
BlobMonsterFoot.prototype.setInitialPosition = function (initialx, initialy) {
this._x = this.parent._x + initialx;
this._y = this.parent._y + initialy;
this.tx = initialx;
this.ty = initialy;
};
BlobMonsterFoot.prototype.frameMove = function () {
if (this.parent.dragging) {
this._x = this._x - ((this._x - (this.parent._x + this.tx)) / 1.2);
this._y = this._y - ((this._y - (this.parent._y + this.ty)) / 1.2);
} else {
this._x = this._x - ((this._x - (this.parent._x + this.tx)) / 3);
this._y = this._y - ((this._y - (this.parent._y + this.ty)) / 3);
}
this._y = Math.max(4, Math.min(this._y, 234));
this._x = Math.max(4, Math.min(this._x, 496));
if ((this._y >= 234) || (this._y <= 4)) {
this.parent._yv = this.parent._yv + ((this._y - (this.parent._y + this.ty)) / 80);
this.parent._yv = this.parent._yv * 0.98;
this.parent._xv = this.parent._xv * 0.995;
}
if ((this._x >= 496) || (this._x <= 4)) {
this.parent._xv = this.parent._xv + ((this._x - (this.parent._x + this.tx)) / 100);
this.parent._xv = this.parent._xv * 0.98;
}
var c = 0;
while (c < this._parent.blob_array.length) {
var monster_p = this._parent.blob_array[c];
if (monster_p != this.parent) {
if (monster_p.distance(this) < monster_p.radius) {
this._x = this._x - (monster_p.xdistance(this) / 20);
this._y = this._y - (monster_p.ydistance(this) / 20);
this.parent._xv = this.parent._xv - ((monster_p.xdistance(this) / monster_p.radius) / 2);
this.parent._yv = this.parent._yv - ((monster_p.xdistance(this) / monster_p.radius) / 2);
}
}
c++;
}
if (this.id == 17) {
this._rotation = -1.5 * (this._y - (this.parent._y + this.ty));
} else if ((this.id == 2) || (this.id == 4)) {
this._rotation = 1.5 * (this._y - (this.parent._y + this.ty));
}
if (this.isStar) {
this.framecounter++;
if (this.framecounter < 1) {
_root.starDepth++;
this.star = _root.attachMovie("star_mc", "star_" + _root.starDepth, _root.starDepth);
this.star._x = this._x;
this.star._y = this._y;
if (_root.starDepth > 1500) {
_root.starDepth = 1001;
}
}
if (this.framecounter > 2) {
this.framecounter = -1;
}
}
};
Object.registerClass("blobFoot_mc", BlobMonsterFoot);
color_array = new Array(2840487, 4034559, 14342874);
create();
surround.swapDepths(1000);
_root.starDepth = 1001;
stop();
Symbol 9 MovieClip [blobFoot_mc] Frame 1
stop();
Symbol 17 MovieClip Frame 1
Math.rotation = function (dy, dx) {
return(Math.atan2(dy, dx));
};
this.onEnterFrame = function () {
var rot = (Math.rotation(_ymouse, -_xmouse) - (Math.PI/2));
pupil._x = Math.sin(rot) * 4;
pupil._y = Math.cos(rot) * 4;
};
stop();
Symbol 18 MovieClip Frame 1
gotoAndStop(random(4) + 1);
stop();
Symbol 18 MovieClip Frame 2
stop();
Symbol 18 MovieClip Frame 3
stop();
Symbol 18 MovieClip Frame 4
stop();
Symbol 24 MovieClip [blobFace_mc] Frame 1
stop();
Symbol 24 MovieClip [blobFace_mc] Frame 2
stop();
Symbol 27 MovieClip [star_mc] Frame 1
this._rot = random(20) - 10;
this.onEnterFrame = function () {
this._rotation = this._rotation + this._rot;
this._y = this._y - 2;
this._xscale = this._xscale - 6;
this._yscale = this._xscale;
if (this._xscale < 5) {
this.removeMovieclip();
}
};
Symbol 29 MovieClip Frame 1
this.onEnterFrame = function () {
this._x = this._x + (this._xmouse / 3);
this._y = this._y + (this._ymouse / 3);
};
stop();
Symbol 38 Button
on (release) {
reset();
}