[Tools][Expand/Collapse All]Note that automatic extraction of ActionScript 3 is still pretty much unsupported by swfchan. AS1/AS2 works okay most of the time.Frame 1 (11.02 KiB) ● ●
function grow() {
if (size < 600) {
size++;
environ.vixen.breast.gotoAndStop(Math.min(size, 400));
environ.vixen.body.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.bottom.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.arm1.gotoAndStop(Math.max(size - 100, 1));
environ.vixen.arm2.gotoAndStop(Math.max(size - 110, 1));
environ.vixen.leg1.gotoAndStop(Math.max(size - 120, 1));
environ.vixen.aleg2.gotoAndStop(Math.max(size - 130, 1));
if (environ.vixen.weights._currentframe < 80) {
environ.vixen.weights.gotoAndStop(Math.max(size - 200, 1));
} else if (environ.vixen.weights._currentframe < 300) {
environ.vixen.weights.play();
} else {
environ.vixen.weights.gotoAndStop(300);
}
if (environ.vixen.top._currentframe < 150) {
environ.vixen.top.gotoAndStop(Math.min(size, 400));
} else if (environ.vixen.top._currentframe < 185) {
environ.vixen.top.play();
} else {
environ.vixen.top.stop();
}
} else {
growth = 0;
}
}
function revert() {
if (size > 1) {
size--;
environ.vixen.breast.gotoAndStop(Math.min(size, 400));
environ.vixen.body.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.bottom.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.arm1.gotoAndStop(Math.max(size - 100, 1));
environ.vixen.arm2.gotoAndStop(Math.max(size - 110, 1));
environ.vixen.leg1.gotoAndStop(Math.max(size - 120, 1));
environ.vixen.aleg2.gotoAndStop(Math.max(size - 130, 1));
if (environ.vixen.weights._currentframe < 80) {
environ.vixen.weights.gotoAndStop(Math.max(size - 200, 1));
} else if (environ.vixen.weights._currentframe < 300) {
environ.vixen.weights.play();
} else {
environ.vixen.weights.gotoAndStop(300);
}
if (environ.vixen.top._currentframe < 150) {
environ.vixen.top.gotoAndStop(Math.min(size, 400));
} else if (environ.vixen.top._currentframe < 185) {
environ.vixen.top.play();
} else {
environ.vixen.top.stop();
}
} else {
growth = 0;
}
}
function timeout_fn() {
if (!timer) {
condition = "";
setState(curState.state);
delete _root.onEnterFrame;
}
timer--;
}
function setState(str) {
if (condition != "") {
return(undefined);
}
if (state != str) {
curState.state = str;
state = str;
curState.state = state;
for (var _local2 in states[str]) {
curState[_local2] = states[str][_local2];
}
if (environ.vixen.arm1._rotation != curState.arm1) {
delete environ.vixen.arm1.onEnterFrame;
environ.vixen.arm1.onEnterFrame = function () {
if ((environ.vixen.arm1._rotation - curState.arm1) < -3) {
environ.vixen.arm1._rotation = environ.vixen.arm1._rotation + 3;
} else if ((environ.vixen.arm1._rotation - curState.arm1) > 3) {
environ.vixen.arm1._rotation = environ.vixen.arm1._rotation - 3;
} else {
environ.vixen.arm1._rotation = curState.arm1;
delete environ.vixen.arm1.onEnterFrame;
}
};
}
if (environ.vixen.leg1._rotation != curState.leg) {
delete environ.vixen.leg1.onEnterFrame;
environ.vixen.leg1.onEnterFrame = function () {
if ((environ.vixen.leg1._rotation + 2) < curState.leg) {
environ.vixen.leg1._rotation = environ.vixen.leg1._rotation + 2;
environ.vixen.leg2._rotation = environ.vixen.leg2._rotation - 2;
} else if ((environ.vixen.leg1._rotation - 2) > curState.leg) {
environ.vixen.leg1._rotation = environ.vixen.leg1._rotation - 2;
environ.vixen.leg2._rotation = environ.vixen.leg2._rotation + 2;
} else {
environ.vixen.leg1._rotation = curState.leg;
environ.vixen.leg2._rotation = -curState.leg;
delete environ.vixen.leg1.onEnterFrame;
}
};
}
environ.vixen.eye.gotoAndPlay(curState.eye);
environ.vixen.eye.pupil._x = pX + curState.pX;
environ.vixen.eye.pupil._y = pY + curState.pY;
canBlink = curState.canBlink;
}
}
_level0.bgColor = 39372;
_level0.flashWidth = 800;
_level0.flashHeight = 600;
var state = "";
var condition = "";
var states = new Array();
var size = 1;
var growth = 0;
var curState = new Object();
var canBlink = false;
var blinking = false;
var pX = environ.vixen.eye.pupil._x;
var pY = environ.vixen.eye.pupil._y;
var count = 0;
var frequency = 0.1;
var id = 0;
var initY = environ.vixen._y;
var initR = environ.vixen.arm2._rotation;
var offset = 10;
environ._xscale = (environ._yscale = 85);
environ.vixen.body.stop();
environ.vixen.breast.stop();
environ.vixen.top.stop();
environ.vixen.bottom.stop();
environ.vixen.weights.stop();
environ.vixen.arm1.stop();
environ.vixen.arm2.stop();
environ.vixen.leg1.stop();
environ.endweights._visible = false;
states.normal = {eye:"open", arm1:0, leg:0, canBlink:true, pX:0, pY:0};
states.inflate = {eye:"wide", arm1:-45, leg:0, canBlink:false, pX:0, pY:5};
states.float = {eye:"sad", arm1:-45, leg:-15, canBlink:false, pX:0, pY:5};
states.deflateG = {eye:"small", arm1:0, leg:0, canBlink:true, pX:0, pY:5};
states.deflate = {eye:"small", arm1:-15, leg:-5, canBlink:true, pX:0, pY:5};
setState("normal");
environ.vixen.onEnterFrame = function () {
if ((Math.cos(count) < 0) || (growth == 1)) {
var _local2 = 0;
while (_local2 < (growth ? 10 : 5)) {
environ.vixen.attachMovie("bubble", "bubble" + id, id, {_x:(environ.vixen.tank._x + (Math.random() * 20)) - 10, _y:(environ.vixen.tank._y + (Math.random() * 20)) - 10, _xscale:(Math.random() * 100) + 80, _yscale:(Math.random() * 100) + 80, speed:(Math.random() * 20) + 1, xSpeed:0});
environ.vixen["bubble" + id].onEnterFrame = function () {
this.xSpeed = this.xSpeed + ((Math.random() * 2) - 1);
this._y = this._y - this.speed;
this._x = this._x + this.xSpeed;
if (-100 > ((this._y + this._parent._y) + this._parent._parent._y)) {
delete this.onEnterFrame;
this.removeMovieClip();
}
};
id = ((id > 300) ? 0 : (id + 1));
_local2++;
}
}
count = count + frequency;
if (offset > 10) {
offset--;
}
if ((size > 100) && (growth < 1)) {
frequency = 0.3;
} else {
frequency = 0.1;
}
if (environ.vixen.weights._currentframe >= 120) {
environ.vixen._y = environ.vixen._y + ((((initY - (Math.cos(count) * 20)) - 50) - environ.vixen._y) * 0.01);
if (size > 100) {
environ.vixen._rotation = environ.vixen._rotation + (((10 + (Math.cos(count) * offset)) - environ.vixen._rotation) * 0.01);
} else {
environ.vixen._rotation = environ.vixen._rotation + ((-environ.vixen._rotation) * 0.05);
}
}
if (canBlink && (Math.random() > 0.99)) {
environ.vixen.eye.gotoAndPlay("blink");
environ.vixen.eye.pupil._x = pX + curState.pX;
environ.vixen.eye.pupil._y = pY + curState.pY;
blinking = true;
}
if (blinking && (environ.vixen.eye._currentlabel == "endblink")) {
environ.vixen.eye.gotoAndPlay(curState.eye);
environ.vixen.eye.pupil._x = pX + curState.pX;
environ.vixen.eye.pupil._y = pY + curState.pY;
blinking = false;
}
if (growth == 1) {
grow();
if (size > 1) {
if (environ.vixen.weights._currentframe >= 120) {
setState("float");
} else if (size == 600) {
setState("deflate");
} else {
setState("inflate");
}
}
} else if (growth == -1) {
revert();
if (size == 1) {
setState("normal");
} else if (environ.vixen.weights._currentframe >= 120) {
setState("deflate");
} else {
setState("deflateG");
}
}
if (growth > 0) {
environ.vixen.head.gotoAndPlay("inflate");
} else {
environ.vixen.head.gotoAndPlay("normal");
}
if (environ.vixen.weights._currentframe >= 120) {
environ.endweights._visible = true;
} else {
environ.endweights._visible = false;
}
};
var reset = false;
_panel._plus._txt.text = "+";
_panel._minus._txt.text = "-";
_panel._expand._txt.text = "Inflate";
_panel._revert._txt.text = "Deflate";
_panel._info.text = "Interactive vixen inflation. Drawn and programmed by Doom the wolf (http://doom-the-wolf.deviantart.com). Click 'Inflate' or 'Deflate' to change her size. Selecting 'continuous' will make the size change automatically. Move the camera by dragging the mouse across the screen. Zoom in or out by using the '+' and '-' buttons.";
_panel._cont_txt.text = "continuous";
_panel.onEnterFrame = function () {
if (_panel.hitTest(_root._xmouse, _root._ymouse)) {
if (Math.abs(_panel._y - 500) > 1) {
_panel._y = _panel._y + ((500 - _panel._y) * 0.4);
}
} else if (Math.abs(_panel._y - 600) > 1) {
_panel._y = _panel._y + ((600 - _panel._y) * 0.4);
}
if (growth && (_panel._cont._currentframe == 2)) {
_panel._cont_txt.text = "stop";
} else {
_panel._cont_txt.text = "continuous";
}
if (size < 600) {
_panel._expand._txt.text = "Inflate";
} else {
_panel._expand._txt.text = "Reset";
}
};
_panel._cont.onRelease = function () {
if (growth != 0) {
growth = 0;
}
_panel._cont.gotoAndStop(3 - _panel._cont._currentframe);
};
_panel._plus.onPress = function () {
_panel._plus.onEnterFrame = function () {
environ._xscale = (environ._yscale = environ._xscale + 2);
};
};
_panel._minus.onPress = function () {
_panel._minus.onEnterFrame = function () {
if (environ._xscale > 30) {
environ._xscale = (environ._yscale = environ._xscale - 2);
} else {
delete _panel._minus.onEnterFrame;
}
};
};
_panel.onMouseUp = function () {
delete _panel._plus.onEnterFrame;
delete _panel._minus.onEnterFrame;
if (_panel._cont._currentframe == 1) {
growth = 0;
}
};
_panel._expand.onPress = function () {
if (size >= 600) {
growth = 0;
reset = true;
} else {
growth = 1;
}
};
_panel._expand.onRelease = function () {
if (reset) {
growth = 0;
size = 1;
condition = "";
timer = 0;
environ.endweights._visible = false;
environ.vixen._y = initY;
environ.vixen._rotation = 0;
environ.vixen.arm1._rotation = 0;
environ.vixen.arm2._rotation = initR;
environ.vixen.leg1._rotation = 0;
environ.vixen.leg2._rotation = 0;
delete environ.vixen.arm1.onEnterFrame;
delete environ.vixen.leg1.onEnterFrame;
environ.vixen.breast.gotoAndStop(1);
environ.vixen.body.gotoAndStop(1);
environ.vixen.top.gotoAndStop(1);
environ.vixen.bottom.gotoAndStop(1);
environ.vixen.weights.gotoAndStop(1);
environ.vixen.arm1.gotoAndStop(1);
environ.vixen.leg1.gotoAndStop(1);
environ.vixen.arm2.gotoAndStop(1);
environ.vixen.leg2.gotoAndStop(1);
delete _root.onEnterFrame;
setState("normal");
reset = false;
}
};
_panel._expand.onReleaseOutside = function () {
reset = false;
};
_panel._revert.onPress = function () {
growth = -1;
};
environ.onMouseDown = function () {
if (_panel._y > 550) {
environ.startDrag();
}
};
environ.onMouseUp = function () {
environ.stopDrag();
};
environ.vixen.breast.onPress = (environ.vixen.body.onPress = (environ.vixen.arm1.onPress = function () {
offset = 40;
if ((condition == "") && (size > 100)) {
condition = "poke";
state = "special";
timer = 30;
environ.vixen.eye.gotoAndPlay("shut");
_root.onEnterFrame = timeout_fn;
}
}));
Symbol 28 MovieClip Frame 1 (26 B)
_currentlabel = "normal";
Symbol 28 MovieClip Frame 2 (28 B)
gotoAndPlay(_currentlabel);
Symbol 28 MovieClip Frame 3 (27 B)
_currentlabel = "inflate";
Symbol 28 MovieClip Frame 4 (28 B)
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 1 (24 B)
_currentlabel = "open";
Symbol 41 MovieClip Frame 2 (28 B)
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 3 (25 B)
_currentlabel = "small";
Symbol 41 MovieClip Frame 4 (28 B)
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 5 (25 B)
_currentlabel = "small";
Symbol 41 MovieClip Frame 6 (28 B)
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 7 (25 B)
_currentlabel = "blink";
Symbol 41 MovieClip Frame 11 (28 B)
_currentlabel = "endblink";
Symbol 41 MovieClip Frame 12 (28 B)
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 15 (24 B)
_currentlabel = "wide";
Symbol 41 MovieClip Frame 16 (28 B)
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 17 (23 B)
_currentlabel = "sad";
Symbol 41 MovieClip Frame 18 (28 B)
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 19 (24 B)
_currentlabel = "shut";
Symbol 41 MovieClip Frame 20 (28 B)
gotoAndPlay(_currentlabel);
Symbol 83 MovieClip Frame 400 (8 B)
stop();
Symbol 106 MovieClip Frame 1 (8 B)
stop();