STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228123
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/91578534?noj=FRM91578534-12DC" width="1" height="1"></div>

car1.swf

This is the info page for
Flash #106801

(Click the ID number above for more basic data on this flash file.)


Text
0

fps:

ActionScript [AS1/AS2]

Frame 1
CarExample.main(_root);
Symbol 4 MovieClip [fps] Frame 1
function calcFPS() { numFrames++; var _local3 = getTimer(); var _local2 = (_local3 - startTime) / 1000; var _local1 = Math.round(numFrames / _local2); fpsField.text = _local1; } var startTime = getTimer(); var numFrames = 0; this.onEnterFrame = calcFPS;
Symbol 20480 MovieClip [__Packages.org.cove.flade.surfaces.AbstractTile] Frame 0
class org.cove.flade.surfaces.AbstractTile { var center, verts, normal, isVisible, isActivated, dmc, minX, maxX, minY, maxY; function AbstractTile (cx, cy) { center = new org.cove.flade.util.Vector(cx, cy); verts = new Array(); normal = new org.cove.flade.util.Vector(0, 0); isVisible = true; isActivated = true; initializeContainer(); } function initializeContainer() { var _local2 = _root.getNextHighestDepth(); var _local3 = "_" + _local2; dmc = _root.createEmptyMovieClip(_local3, _local2); } function setVisible(v) { isVisible = v; } function setActiveState(a) { isActivated = a; } function getActiveState() { return(isActivated); } function createBoundingRect(rw, rh) { var _local4 = center.y - (rh / 2); var _local5 = center.y + (rh / 2); var _local6 = center.x - (rw / 2); var _local7 = center.x + (rw / 2); verts.push(new org.cove.flade.util.Vector(_local7, _local5)); verts.push(new org.cove.flade.util.Vector(_local7, _local4)); verts.push(new org.cove.flade.util.Vector(_local6, _local4)); verts.push(new org.cove.flade.util.Vector(_local6, _local5)); setCardProjections(); } function testIntervals(boxMin, boxMax, tileMin, tileMax) { if (boxMax < tileMin) { return(0); } if (tileMax < boxMin) { return(0); } var _local6 = tileMax - boxMin; var _local7 = tileMin - boxMax; if (Math.abs(_local6) < Math.abs(_local7)) { return(_local6); } return(_local7); } function setCardProjections() { getCardXProjection(); getCardYProjection(); } function getCardXProjection() { minX = verts[0].x; var _local2 = 1; for ( ; _local2 < verts.length ; _local2++) { if (verts[_local2].x < minX) { minX = verts[_local2].x; } } maxX = verts[0].x; var _local3 = 1; for ( ; _local3 < verts.length ; _local3++) { if (verts[_local3].x > maxX) { maxX = verts[_local3].x; } } } function getCardYProjection() { minY = verts[0].y; var _local2 = 1; for ( ; _local2 < verts.length ; _local2++) { if (verts[_local2].y < minY) { minY = verts[_local2].y; } } maxY = verts[0].y; var _local3 = 1; for ( ; _local3 < verts.length ; _local3++) { if (verts[_local3].y > maxY) { maxY = verts[_local3].y; } } } function onContact() { } }
Symbol 20481 MovieClip [__Packages.org.cove.flade.surfaces.Surface] Frame 0
class org.cove.flade.surfaces.Surface { function Surface () { } }
Symbol 20482 MovieClip [__Packages.org.cove.flade.surfaces.RectangleTile] Frame 0
class org.cove.flade.surfaces.RectangleTile extends org.cove.flade.surfaces.AbstractTile implements org.cove.flade.surfaces.Surface { var rectWidth, rectHeight, createBoundingRect, isVisible, dmc, center, onContact, normal, testIntervals, minX, maxX, minY, maxY; function RectangleTile (cx, cy, rw, rh) { super(cx, cy); rectWidth = rw; rectHeight = rh; createBoundingRect(rw, rh); } function paint() { if (isVisible) { dmc.clear(); dmc.lineStyle(0, 2237064, 100); org.cove.flade.graphics.Graphics.paintRectangle(dmc, center.x, center.y, rectWidth, rectHeight); } } function resolveCircleCollision(p, sysObj) { if (isCircleColliding(p)) { onContact(); p.resolveCollision(normal, sysObj); } } function resolveRectangleCollision(p, sysObj) { if (isRectangleColliding(p)) { onContact(); p.resolveCollision(normal, sysObj); } } function isCircleColliding(p) { p.getCardXProjection(); var _local3 = testIntervals(p.bmin, p.bmax, minX, maxX); if (_local3 == 0) { return(false); } p.getCardYProjection(); var _local4 = testIntervals(p.bmin, p.bmax, minY, maxY); if (_local4 == 0) { return(false); } var _local5 = Math.abs(_local3) < p.radius; var _local6 = Math.abs(_local4) < p.radius; if (_local5 && (_local6)) { var _local7 = center.x + (sign(p.curr.x - center.x) * (rectWidth / 2)); var _local8 = center.y + (sign(p.curr.y - center.y) * (rectHeight / 2)); var _local9 = p.curr.x - _local7; var _local10 = p.curr.y - _local8; var _local11 = Math.sqrt((_local9 * _local9) + (_local10 * _local10)); var _local12 = p.radius - _local11; if (_local12 > 0) { _local9 = _local9 / _local11; _local10 = _local10 / _local11; p.mtd.setTo(_local9 * _local12, _local10 * _local12); normal.setTo(_local9, _local10); return(true); } return(false); } p.setXYMTD(_local3, _local4); normal.setTo(p.mtd.x / Math.abs(_local3), p.mtd.y / Math.abs(_local4)); return(true); } function isRectangleColliding(p) { p.getCardXProjection(); var _local3 = testIntervals(p.bmin, p.bmax, minX, maxX); if (_local3 == 0) { return(false); } p.getCardYProjection(); var _local4 = testIntervals(p.bmin, p.bmax, minY, maxY); if (_local4 == 0) { return(false); } p.setXYMTD(_local3, _local4); normal.setTo(p.mtd.x / Math.abs(_local3), p.mtd.y / Math.abs(_local4)); return(true); } function sign(val) { if (val < 0) { return(-1); } if (val > 0) { return(1); } } }
Symbol 20483 MovieClip [__Packages.org.cove.flade.surfaces.CircleTile] Frame 0
class org.cove.flade.surfaces.CircleTile extends org.cove.flade.surfaces.AbstractTile implements org.cove.flade.surfaces.Surface { var createBoundingRect, radius, isVisible, dmc, center, onContact, normal, testIntervals, minX, maxX, minY, maxY; function CircleTile (cx, cy, r) { super(cx, cy); createBoundingRect(r * 2, r * 2); radius = r; } function paint() { if (isVisible) { dmc.clear(); dmc.lineStyle(0, 2237064, 100); org.cove.flade.graphics.Graphics.paintCircle(dmc, center.x, center.y, radius); } } function resolveCircleCollision(p, sysObj) { if (isCircleColliding(p)) { onContact(); p.resolveCollision(normal, sysObj); } } function resolveRectangleCollision(p, sysObj) { if (isRectangleColliding(p)) { onContact(); p.resolveCollision(normal, sysObj); } } function isCircleColliding(p) { p.getCardXProjection(); var _local3 = testIntervals(p.bmin, p.bmax, minX, maxX); if (_local3 == 0) { return(false); } p.getCardYProjection(); var _local4 = testIntervals(p.bmin, p.bmax, minY, maxY); if (_local4 == 0) { return(false); } var _local5 = center.x - p.curr.x; var _local6 = center.y - p.curr.y; var _local7 = Math.sqrt((_local5 * _local5) + (_local6 * _local6)); var _local8 = (p.radius + radius) - _local7; if (_local8 > 0) { _local5 = _local5 / _local7; _local6 = _local6 / _local7; p.mtd.setTo((-_local5) * _local8, (-_local6) * _local8); normal.setTo(-_local5, -_local6); return(true); } return(false); } function isRectangleColliding(p) { p.getCardXProjection(); var _local3 = testIntervals(p.bmin, p.bmax, minX, maxX); if (_local3 == 0) { return(false); } p.getCardYProjection(); var _local4 = testIntervals(p.bmin, p.bmax, minY, maxY); if (_local4 == 0) { return(false); } var _local5 = Math.abs(_local3) < radius; var _local6 = Math.abs(_local4) < radius; if (_local5 && (_local6)) { var _local7 = p.curr.x + (sign(center.x - p.curr.x) * (p.width / 2)); var _local8 = p.curr.y + (sign(center.y - p.curr.y) * (p.height / 2)); p.vertex.setTo(_local7, _local8); var _local9 = p.vertex.x - center.x; var _local10 = p.vertex.y - center.y; var _local11 = Math.sqrt((_local9 * _local9) + (_local10 * _local10)); var _local12 = radius - _local11; if (_local12 > 0) { _local9 = _local9 / _local11; _local10 = _local10 / _local11; p.mtd.setTo(_local9 * _local12, _local10 * _local12); normal.setTo(_local9, _local10); return(true); } return(false); } p.setXYMTD(_local3, _local4); normal.setTo(p.mtd.x / Math.abs(_local3), p.mtd.y / Math.abs(_local4)); return(true); } function sign(val) { if (val < 0) { return(-1); } if (val > 0) { return(1); } } }
Symbol 20484 MovieClip [__Packages.org.cove.flade.primitives.RimParticle] Frame 0
class org.cove.flade.primitives.RimParticle { var curr, prev, vs, speed, maxTorque, wr; function RimParticle (r, mt) { curr = new org.cove.flade.util.Vector(r, 0); prev = new org.cove.flade.util.Vector(0, 0); vs = 0; speed = 0; maxTorque = mt; wr = r; } function verlet(sysObj) { speed = Math.max(-maxTorque, Math.min(maxTorque, speed + vs)); var _local3 = -curr.y; var _local4 = curr.x; var _local5 = Math.sqrt((_local3 * _local3) + (_local4 * _local4)); _local3 = _local3 / _local5; _local4 = _local4 / _local5; curr.x = curr.x + (speed * _local3); curr.y = curr.y + (speed * _local4); var _local6 = prev.x; var _local7 = prev.y; var _local8 = (prev.x = curr.x); var _local9 = (prev.y = curr.y); curr.x = curr.x + (sysObj.coeffDamp * (_local8 - _local6)); curr.y = curr.y + (sysObj.coeffDamp * (_local9 - _local7)); var _local10 = Math.sqrt((curr.x * curr.x) + (curr.y * curr.y)); var _local11 = (_local10 - wr) / _local10; curr.x = curr.x - (curr.x * _local11); curr.y = curr.y - (curr.y * _local11); } }
Symbol 20485 MovieClip [__Packages.org.cove.flade.DynamicsEngine] Frame 0
class org.cove.flade.DynamicsEngine { var primitives, surfaces, constraints, gravity, coeffRest, coeffFric, coeffDamp; function DynamicsEngine () { primitives = new Array(); surfaces = new Array(); constraints = new Array(); gravity = new org.cove.flade.util.Vector(0, 1); coeffRest = 1 + 0.5; coeffFric = 0.01; coeffDamp = 0.99; } function addPrimitive(p) { primitives.push(p); } function addSurface(s) { surfaces.push(s); } function addConstraint(c) { constraints.push(c); } function paintSurfaces() { var _local2 = 0; for ( ; _local2 < surfaces.length ; _local2++) { surfaces[_local2].paint(); } } function paintPrimitives() { var _local2 = 0; for ( ; _local2 < primitives.length ; _local2++) { primitives[_local2].paint(); } } function paintConstraints() { var _local2 = 0; for ( ; _local2 < constraints.length ; _local2++) { constraints[_local2].paint(); } } function timeStep() { verlet(); satisfyConstraints(); checkCollisions(); } function setSurfaceBounce(kfr) { coeffRest = 1 + kfr; } function setSurfaceFriction(f) { coeffFric = f; } function setDamping(d) { coeffDamp = d; } function setGravity(gx, gy) { gravity.x = gx; gravity.y = gy; } function verlet() { var _local2 = 0; for ( ; _local2 < primitives.length ; _local2++) { primitives[_local2].verlet(this); } } function satisfyConstraints() { var _local2 = 0; for ( ; _local2 < constraints.length ; _local2++) { constraints[_local2].resolve(); } } function checkCollisions() { var _local2 = 0; for ( ; _local2 < surfaces.length ; _local2++) { var _local3 = surfaces[_local2]; if (_local3.getActiveState()) { var _local4 = 0; for ( ; _local4 < primitives.length ; _local4++) { primitives[_local4].checkCollision(_local3, this); } } } } }
Symbol 20486 MovieClip [__Packages.org.cove.flade.graphics.Graphics] Frame 0
class org.cove.flade.graphics.Graphics { function Graphics () { } static function paintLine(dmc, x0, y0, x1, y1) { dmc.moveTo(x0, y0); dmc.lineTo(x1, y1); } static function paintCircle(dmc, x, y, r) { var _local6 = Math.tan(Math.PI / 8) * r; var _local7 = Math.sin(Math.PI / 4) * r; with (dmc) { moveTo(x + r, y); curveTo(r + x, _local6 + y, _local7 + x, _local7 + y); curveTo(_local6 + x, r + y, x, r + y); curveTo((-_local6) + x, r + y, (-_local7) + x, _local7 + y); curveTo((-r) + x, _local6 + y, (-r) + x, y); curveTo((-r) + x, (-_local6) + y, (-_local7) + x, (-_local7) + y); curveTo((-_local6) + x, (-r) + y, x, (-r) + y); curveTo(_local6 + x, (-r) + y, _local7 + x, (-_local7) + y); curveTo(r + x, (-_local6) + y, r + x, y); } } static function paintRectangle(dmc, x, y, w, h) { var _local7 = w / 2; var _local8 = h / 2; with (dmc) { moveTo(x - _local7, y - _local8); lineTo(x + _local7, y - _local8); lineTo(x + _local7, y + _local8); lineTo(x - _local7, y + _local8); lineTo(x - _local7, y - _local8); } } }
Symbol 20487 MovieClip [__Packages.org.cove.flade.util.Line] Frame 0
class org.cove.flade.util.Line { var p1, p2; function Line (p1, p2) { this.p1 = p1; this.p2 = p2; } }
Symbol 20488 MovieClip [__Packages.org.cove.flade.constraints.Constraint] Frame 0
class org.cove.flade.constraints.Constraint { function Constraint () { } }
Symbol 20489 MovieClip [__Packages.org.cove.flade.constraints.SpringConstraint] Frame 0
class org.cove.flade.constraints.SpringConstraint implements org.cove.flade.constraints.Constraint { var p1, p2, restLength, stiffness, color, isVisible, dmc; function SpringConstraint (p1, p2) { this.p1 = p1; this.p2 = p2; restLength = p1.curr.distance(p2.curr); stiffness = 0.5; color = 10053171 /* 0x996633 */; initializeContainer(); isVisible = true; } function initializeContainer() { var _local2 = _root.getNextHighestDepth(); var _local3 = "_" + _local2; dmc = _root.createEmptyMovieClip(_local3, _local2); } function resolve() { var _local2 = p1.curr.minusNew(p2.curr); var _local3 = p1.curr.distance(p2.curr); var _local4 = (_local3 - restLength) / _local3; var _local5 = _local2.mult(_local4 * stiffness); p1.curr.minus(_local5); p2.curr.plus(_local5); } function setRestLength(r) { restLength = r; } function setStiffness(s) { stiffness = s; } function setVisible(v) { isVisible = v; } function paint() { if (isVisible) { dmc.clear(); dmc.lineStyle(0, color, 100); org.cove.flade.graphics.Graphics.paintLine(dmc, p1.curr.x, p1.curr.y, p2.curr.x, p2.curr.y); } } }
Symbol 20490 MovieClip [__Packages.org.cove.flade.surfaces.LineSurface] Frame 0
class org.cove.flade.surfaces.LineSurface extends org.cove.flade.surfaces.AbstractTile implements org.cove.flade.surfaces.Surface { var p1, p2, collNormal, isVisible, dmc, onContact, faceNormal, collisionDepth, testIntervals, minY, maxY, minX, maxX, sideNormal, minS, maxS, minF, maxF, rise, run, sign, slope, invB, setCardProjections, p3, p4, verts; function LineSurface (p1x, p1y, p2x, p2y) { super(0, 0); p1 = new org.cove.flade.util.Vector(p1x, p1y); p2 = new org.cove.flade.util.Vector(p2x, p2y); calcFaceNormal(); collNormal = new org.cove.flade.util.Vector(0, 0); setCollisionDepth(30); } function paint() { if (isVisible) { dmc.clear(); dmc.lineStyle(0, 2237064, 100); org.cove.flade.graphics.Graphics.paintLine(dmc, p1.x, p1.y, p2.x, p2.y); } } function resolveCircleCollision(p, sysObj) { if (isCircleColliding(p)) { onContact(); p.resolveCollision(faceNormal, sysObj); } } function resolveRectangleCollision(p, sysObj) { if (isRectangleColliding(p)) { onContact(); p.resolveCollision(collNormal, sysObj); } } function setCollisionDepth(d) { collisionDepth = d; precalculate(); } function isCircleColliding(p) { findClosestPoint(p.curr, p.closestPoint); var _local3 = p.closestPoint.minusNew(p.curr); _local3.normalize(); if (inequality(p.curr)) { var _local4 = Math.abs(_local3.x); _local3.x = ((faceNormal.x < 0) ? (_local4) : (-_local4)); _local3.y = Math.abs(_local3.y); } var _local5 = p.curr.plusNew(_local3.mult(p.radius)); if (segmentInequality(_local5)) { if (_local5.distance(p.closestPoint) > collisionDepth) { return(false); } var _local6 = _local5.x - p.closestPoint.x; var _local7 = _local5.y - p.closestPoint.y; p.mtd.setTo(-_local6, -_local7); return(true); } return(false); } function isRectangleColliding(p) { p.getCardYProjection(); var _local3 = testIntervals(p.bmin, p.bmax, minY, maxY); if (_local3 == 0) { return(false); } p.getCardXProjection(); var _local4 = testIntervals(p.bmin, p.bmax, minX, maxX); if (_local4 == 0) { return(false); } p.getAxisProjection(sideNormal); var _local5 = testIntervals(p.bmin, p.bmax, minS, maxS); if (_local5 == 0) { return(false); } p.getAxisProjection(faceNormal); var _local6 = testIntervals(p.bmin, p.bmax, minF, maxF); if (_local6 == 0) { return(false); } var _local7 = Math.abs(_local4); var _local8 = Math.abs(_local3); var _local9 = Math.abs(_local5); var _local10 = Math.abs(_local6); if ((_local7 <= _local8) && ((_local7 <= _local9) && (_local7 <= _local10))) { p.mtd.setTo(_local4, 0); collNormal.setTo(p.mtd.x / _local7, 0); } else if ((_local8 <= _local7) && ((_local8 <= _local9) && (_local8 <= _local10))) { p.mtd.setTo(0, _local3); collNormal.setTo(0, p.mtd.y / _local8); } else if ((_local10 <= _local7) && ((_local10 <= _local8) && (_local10 <= _local9))) { p.mtd = faceNormal.multNew(_local6); collNormal.copy(faceNormal); } else if ((_local9 <= _local7) && ((_local9 <= _local8) && (_local9 <= _local10))) { p.mtd = sideNormal.multNew(_local5); collNormal.copy(sideNormal); } return(true); } function precalculate() { rise = p2.y - p1.y; run = p2.x - p1.x; sign = ((run >= 0) ? 1 : -1); slope = rise / run; invB = 1 / ((run * run) + (rise * rise)); createRectangle(); calcSideNormal(); setCardProjections(); setAxisProjections(); } function calcFaceNormal() { faceNormal = new org.cove.flade.util.Vector(0, 0); var _local2 = p2.x - p1.x; var _local3 = p2.y - p1.y; faceNormal.setTo(_local3, -_local2); faceNormal.normalize(); } function segmentInequality(toPoint) { var _local3 = findU(toPoint); var _local4 = inequality(toPoint); return((_local3 >= 0) && ((_local3 <= 1) && (_local4))); } function inequality(toPoint) { var _local3 = ((slope * (toPoint.x - p1.x)) + (p1.y - toPoint.y)) * sign; return(_local3 <= 0); } function findClosestPoint(toPoint, returnVect) { var _local4 = findU(toPoint); if (_local4 <= 0) { returnVect.copy(p1); return(undefined); } if (_local4 >= 1) { returnVect.copy(p2); return(undefined); } var _local5 = p1.x + (_local4 * (p2.x - p1.x)); var _local6 = p1.y + (_local4 * (p2.y - p1.y)); returnVect.setTo(_local5, _local6); } function findU(p) { var _local3 = ((p.x - p1.x) * run) + ((p.y - p1.y) * rise); return(_local3 * invB); } function createRectangle() { var _local2 = p2.x + ((-faceNormal.x) * collisionDepth); var _local3 = p2.y + ((-faceNormal.y) * collisionDepth); var _local4 = p1.x + ((-faceNormal.x) * collisionDepth); var _local5 = p1.y + ((-faceNormal.y) * collisionDepth); p3 = new org.cove.flade.util.Vector(_local2, _local3); p4 = new org.cove.flade.util.Vector(_local4, _local5); verts.push(p1); verts.push(p2); verts.push(p3); verts.push(p4); } function setAxisProjections() { minF = p2.dot(faceNormal); maxF = p3.dot(faceNormal); if (minF > maxF) { var _local2 = minF; minF = maxF; maxF = _local2; } minS = p1.dot(sideNormal); maxS = p2.dot(sideNormal); if (minS > maxS) { var _local2 = minS; minS = maxS; maxS = _local2; } } function calcSideNormal() { sideNormal = new org.cove.flade.util.Vector(0, 0); var _local2 = p3.x - p2.x; var _local3 = p3.y - p2.y; sideNormal.setTo(_local3, -_local2); sideNormal.normalize(); } }
Symbol 20491 MovieClip [__Packages.org.cove.flade.primitives.Particle] Frame 0
class org.cove.flade.primitives.Particle { var init, curr, prev, temp, extents, bmin, bmax, mtd, isVisible, dmc; function Particle (posX, posY) { init = new org.cove.flade.util.Vector(posX, posY); curr = new org.cove.flade.util.Vector(posX, posY); prev = new org.cove.flade.util.Vector(posX, posY); temp = new org.cove.flade.util.Vector(0, 0); extents = new org.cove.flade.util.Vector(0, 0); bmin = 0; bmax = 0; mtd = new org.cove.flade.util.Vector(0, 0); initializeContainer(); isVisible = true; } function initializeContainer() { var _local2 = _root.getNextHighestDepth(); var _local3 = "_" + _local2; dmc = _root.createEmptyMovieClip(_local3, _local2); } function setVisible(v) { isVisible = v; } function verlet(sysObj) { temp.x = curr.x; temp.y = curr.y; curr.x = curr.x + ((sysObj.coeffDamp * (curr.x - prev.x)) + sysObj.gravity.x); curr.y = curr.y + ((sysObj.coeffDamp * (curr.y - prev.y)) + sysObj.gravity.y); prev.x = temp.x; prev.y = temp.y; } function pin() { curr.x = init.x; curr.y = init.y; prev.x = init.x; prev.y = init.y; } function setPos(px, py) { curr.x = px; curr.y = py; prev.x = px; prev.y = py; } function getCardXProjection() { bmin = curr.x - extents.x; bmax = curr.x + extents.x; } function getCardYProjection() { bmin = curr.y - extents.y; bmax = curr.y + extents.y; } function getAxisProjection(axis) { var _local3 = new org.cove.flade.util.Vector(Math.abs(axis.x), Math.abs(axis.y)); var _local4 = curr.dot(axis); var _local5 = extents.dot(_local3); bmin = _local4 - _local5; bmax = _local4 + _local5; } function setMTD(depthX, depthY, depthN, surfNormal) { var _local6 = Math.abs(depthX); var _local7 = Math.abs(depthY); var _local8 = Math.abs(depthN); if ((_local6 < _local7) && (_local6 < _local8)) { mtd.setTo(depthX, 0); } else if ((_local7 < _local6) && (_local7 < _local8)) { mtd.setTo(0, depthY); } else if ((_local8 < _local6) && (_local8 < _local7)) { mtd = surfNormal.multNew(depthN); } } function setXYMTD(depthX, depthY) { var _local4 = Math.abs(depthX); var _local5 = Math.abs(depthY); if (_local4 < _local5) { mtd.setTo(depthX, 0); } else { mtd.setTo(0, depthY); } } function resolveCollision(normal, sysObj) { var _local4 = curr.minusNew(prev); var _local5 = normal.dot(_local4); var _local6 = _local4.minusNew(normal.multNew(_local5)); var _local7 = _local6.multNew(sysObj.coeffFric); var _local8 = normal.multNew(_local5 * sysObj.coeffRest); var _local9 = _local8.plusNew(_local7); var _local10 = _local4.minusNew(_local9); curr.plus(mtd); prev = curr.minusNew(_local10); } function paint() { } function checkCollision(surface, sysObj) { } }
Symbol 20492 MovieClip [__Packages.org.cove.flade.primitives.CircleParticle] Frame 0
class org.cove.flade.primitives.CircleParticle extends org.cove.flade.primitives.Particle { var radius, contactRadius, extents, closestPoint, dmc, curr; function CircleParticle (px, py, r) { super(px, py); radius = r; contactRadius = r; extents = new org.cove.flade.util.Vector(r, r); closestPoint = new org.cove.flade.util.Vector(0, 0); } function paint() { dmc.clear(); dmc.lineStyle(0, 6710886, 100); org.cove.flade.graphics.Graphics.paintCircle(dmc, curr.x, curr.y, radius); } function checkCollision(surface, sysObj) { surface.resolveCircleCollision(this, sysObj); } }
Symbol 20493 MovieClip [__Packages.org.cove.flade.primitives.Wheel] Frame 0
class org.cove.flade.primitives.Wheel extends org.cove.flade.primitives.CircleParticle { var rp, coeffSlip, isVisible, curr, dmc, radius, prev; function Wheel (x, y, r) { super(x, y, r); rp = new org.cove.flade.primitives.RimParticle(r, 2); coeffSlip = 0; } function verlet(sysObj) { rp.verlet(sysObj); super.verlet(sysObj); } function resolveCollision(normal, sysObj) { super.resolveCollision(normal, sysObj); resolve(normal); } function paint() { if (isVisible) { var _local2 = curr.x; var _local3 = curr.y; var _local4 = rp.curr.x; var _local5 = rp.curr.y; dmc.clear(); dmc.lineStyle(0, 2237064, 100); org.cove.flade.graphics.Graphics.paintCircle(dmc, _local2, _local3, radius); dmc.lineStyle(0, 10066329, 100); org.cove.flade.graphics.Graphics.paintLine(dmc, _local4 + _local2, _local5 + _local3, _local2, _local3); org.cove.flade.graphics.Graphics.paintLine(dmc, (-_local4) + _local2, (-_local5) + _local3, _local2, _local3); org.cove.flade.graphics.Graphics.paintLine(dmc, (-_local5) + _local2, _local4 + _local3, _local2, _local3); org.cove.flade.graphics.Graphics.paintLine(dmc, _local5 + _local2, (-_local4) + _local3, _local2, _local3); } } function setTraction(t) { coeffSlip = t; } function resolve(n) { var _local3 = -rp.curr.y; var _local4 = rp.curr.x; var _local5 = Math.sqrt((_local3 * _local3) + (_local4 * _local4)); _local3 = _local3 / _local5; _local4 = _local4 / _local5; var _local6 = _local3 * rp.speed; var _local7 = _local4 * rp.speed; var _local8 = curr.x - prev.x; var _local9 = curr.y - prev.y; var _local10 = _local8 + _local6; var _local11 = _local9 + _local7; var _local12 = ((-n.y) * _local10) + (n.x * _local11); rp.prev.x = rp.curr.x - (_local12 * _local3); rp.prev.y = rp.curr.y - (_local12 * _local4); var _local13 = 1 - coeffSlip; curr.x = curr.x + ((_local13 * rp.speed) * (-n.y)); curr.y = curr.y + ((_local13 * rp.speed) * n.x); rp.speed = rp.speed * coeffSlip; } }
Symbol 20494 MovieClip [__Packages.org.cove.flade.util.Vector] Frame 0
class org.cove.flade.util.Vector { var x, y; function Vector (px, py) { x = px; y = py; } function setTo(px, py) { x = px; y = py; } function copy(v) { x = v.x; y = v.y; } function dot(v) { return((x * v.x) + (y * v.y)); } function cross(v) { return((x * v.y) - (y * v.x)); } function plus(v) { x = x + v.x; y = y + v.y; return(this); } function plusNew(v) { return(new org.cove.flade.util.Vector(x + v.x, y + v.y)); } function minus(v) { x = x - v.x; y = y - v.y; return(this); } function minusNew(v) { return(new org.cove.flade.util.Vector(x - v.x, y - v.y)); } function mult(s) { x = x * s; y = y * s; return(this); } function multNew(s) { return(new org.cove.flade.util.Vector(x * s, y * s)); } function distance(v) { var _local3 = x - v.x; var _local4 = y - v.y; return(Math.sqrt((_local3 * _local3) + (_local4 * _local4))); } function normalize() { var _local2 = Math.sqrt((x * x) + (y * y)); x = x / _local2; y = y / _local2; return(this); } function magnitude() { return(Math.sqrt((x * x) + (y * y))); } function project(b) { var _local3 = dot(b); var _local4 = (b.x * b.x) + (b.y * b.y); var _local5 = new org.cove.flade.util.Vector(0, 0); _local5.x = (_local3 / _local4) * b.x; _local5.y = (_local3 / _local4) * b.y; return(_local5); } }
Symbol 20495 MovieClip [__Packages.org.cove.flade.primitives.RectangleParticle] Frame 0
class org.cove.flade.primitives.RectangleParticle extends org.cove.flade.primitives.Particle { var width, height, vertex, extents, isVisible, dmc, curr; function RectangleParticle (px, py, w, h) { super(px, py); width = w; height = h; vertex = new org.cove.flade.util.Vector(0, 0); extents = new org.cove.flade.util.Vector(w / 2, h / 2); } function paint() { if (isVisible) { dmc.clear(); dmc.lineStyle(0, 6710886, 100); org.cove.flade.graphics.Graphics.paintRectangle(dmc, curr.x, curr.y, width, height); } } function checkCollision(surface, sysObj) { surface.resolveRectangleCollision(this, sysObj); } }
Symbol 20496 MovieClip [__Packages.CarExample] Frame 0
class CarExample { var engine, wheelA, wheelB, ang, angDefault; function CarExample () { engine = new org.cove.flade.DynamicsEngine(); engine.setDamping(1); engine.setGravity(0, 0.5); engine.setSurfaceBounce(0.1); engine.setSurfaceFriction(0.1); engine.addSurface(new org.cove.flade.surfaces.RectangleTile(15, 300, 20, 100)); var _local2 = new org.cove.flade.surfaces.LineSurface(25, 350, 150, 350); engine.addSurface(_local2); engine.addSurface(new org.cove.flade.surfaces.LineSurface(150, 350, 250, 300)); engine.addSurface(new org.cove.flade.surfaces.RectangleTile(300, 308, 100, 15)); engine.addSurface(new org.cove.flade.surfaces.LineSurface(350, 300, 460, 250)); engine.addSurface(new org.cove.flade.surfaces.RectangleTile(528, 252, 135, 20)); var toggleLine = (new org.cove.flade.surfaces.LineSurface(220, 150, 460, 248)); toggleLine.setActiveState(false); engine.addSurface(toggleLine); _local2.onContact = function () { toggleLine.setActiveState(false); }; var _local3 = new org.cove.flade.surfaces.RectangleTile(580, 217, 30, 90); _local3.onContact = function () { toggleLine.setActiveState(true); }; engine.addSurface(_local3); engine.addSurface(new org.cove.flade.surfaces.CircleTile(185, 155, 35)); engine.addSurface(new org.cove.flade.surfaces.RectangleTile(100, 108, 100, 15)); engine.addSurface(new org.cove.flade.surfaces.LineSurface(5, 20, 5, 275)); engine.addSurface(new org.cove.flade.surfaces.CircleTile(32, 195, 26)); var _local4 = 70; var _local5 = 130; var _local6 = _local5 - _local4; var _local7 = _local4 + (_local6 / 2); var _local8 = 300; wheelA = new org.cove.flade.primitives.Wheel(_local4, _local8, 20); engine.addPrimitive(wheelA); wheelB = new org.cove.flade.primitives.Wheel(_local5, _local8, 20); engine.addPrimitive(wheelB); var _local9 = new org.cove.flade.composites.SpringBox(_local7, _local8, _local6, 15, engine); var _local10 = new org.cove.flade.constraints.SpringConstraint(wheelA, _local9.p3); engine.addConstraint(_local10); var _local11 = new org.cove.flade.constraints.SpringConstraint(wheelB, _local9.p2); engine.addConstraint(_local11); var _local12 = new org.cove.flade.constraints.SpringConstraint(wheelA, _local9.p0); engine.addConstraint(_local12); var _local13 = new org.cove.flade.constraints.SpringConstraint(wheelB, _local9.p1); engine.addConstraint(_local13); var _local14 = new org.cove.flade.primitives.CircleParticle(_local7, _local8 - 25, 2, 2); engine.addPrimitive(_local14); var _local15 = new org.cove.flade.constraints.SpringConstraint(wheelA, _local14); engine.addConstraint(_local15); var _local16 = new org.cove.flade.constraints.SpringConstraint(wheelB, _local14); engine.addConstraint(_local16); ang = new org.cove.flade.constraints.AngularConstraint(wheelA, _local14, wheelB); engine.addConstraint(ang); angDefault = ang.targetTheta; var _local17 = new org.cove.flade.primitives.RectangleParticle(_local7, _local8 - 20, 1, 1); engine.addPrimitive(_local17); var _local18 = new org.cove.flade.constraints.SpringConstraint(_local14, _local17); _local18.setRestLength(7); engine.addConstraint(_local18); var _local19 = new org.cove.flade.primitives.RectangleParticle(_local7, _local8 - 10, 1, 1); engine.addPrimitive(_local19); var _local20 = new org.cove.flade.constraints.SpringConstraint(_local17, _local19); _local20.setRestLength(7); engine.addConstraint(_local20); var _local21 = new org.cove.flade.primitives.RectangleParticle(_local7, _local8 - 5, 7, 7); engine.addPrimitive(_local21); var _local22 = new org.cove.flade.constraints.SpringConstraint(_local19, _local21); _local22.setRestLength(7); engine.addConstraint(_local22); engine.paintSurfaces(); } function run() { var _local2 = 2; if (Key.isDown(Key.LEFT)) { wheelA.rp.vs = -_local2; wheelB.rp.vs = -_local2; } else if (Key.isDown(Key.RIGHT)) { wheelA.rp.vs = _local2; wheelB.rp.vs = _local2; } else { wheelA.rp.vs = 0; wheelB.rp.vs = 0; } if (Key.isDown(Key.UP)) { if (ang.targetTheta < 2.5) { ang.targetTheta = ang.targetTheta + 0.1; } } else if (ang.targetTheta > angDefault) { ang.targetTheta = ang.targetTheta - 0.1; } engine.timeStep(); engine.paintPrimitives(); engine.paintConstraints(); } static function main(mc) { var c = new CarExample(); var _local3 = mc.attachMovie("fps", "fps", _root.getNextHighestDepth()); _local3._x = 6; _local3._y = 6; mc.onEnterFrame = function () { c.run(); }; } //ASSetPropFlags(_local1, null, 1); }
Symbol 20497 MovieClip [__Packages.org.cove.flade.composites.SpringBox] Frame 0
class org.cove.flade.composites.SpringBox { var p0, p1, p2, p3; function SpringBox (px, py, w, h, engine) { p0 = new org.cove.flade.primitives.RectangleParticle(px - (w / 2), py - (h / 2), 1, 1); p1 = new org.cove.flade.primitives.RectangleParticle(px + (w / 2), py - (h / 2), 1, 1); p2 = new org.cove.flade.primitives.RectangleParticle(px + (w / 2), py + (h / 2), 1, 1); p3 = new org.cove.flade.primitives.RectangleParticle(px - (w / 2), py + (h / 2), 1, 1); p0.setVisible(false); p1.setVisible(false); p2.setVisible(false); p3.setVisible(false); engine.addPrimitive(p0); engine.addPrimitive(p1); engine.addPrimitive(p2); engine.addPrimitive(p3); engine.addConstraint(new org.cove.flade.constraints.SpringConstraint(p0, p1)); engine.addConstraint(new org.cove.flade.constraints.SpringConstraint(p1, p2)); engine.addConstraint(new org.cove.flade.constraints.SpringConstraint(p2, p3)); engine.addConstraint(new org.cove.flade.constraints.SpringConstraint(p3, p0)); engine.addConstraint(new org.cove.flade.constraints.SpringConstraint(p0, p2)); engine.addConstraint(new org.cove.flade.constraints.SpringConstraint(p1, p3)); } }
Symbol 20498 MovieClip [__Packages.org.cove.flade.constraints.AngularConstraint] Frame 0
class org.cove.flade.constraints.AngularConstraint implements org.cove.flade.constraints.Constraint { var pA, pB, pC, lineA, lineB, pD, lineC, targetTheta, stiffness; function AngularConstraint (p1, p2, p3) { pA = p1.curr; pB = p2.curr; pC = p3.curr; lineA = new org.cove.flade.util.Line(pA, pB); lineB = new org.cove.flade.util.Line(pB, pC); pD = new org.cove.flade.util.Vector(pB.x + 0, pB.y - 1); lineC = new org.cove.flade.util.Line(pB, pD); targetTheta = calcTheta(pA, pB, pC); stiffness = 1; } function resolve() { var _local2 = getCentroid(); lineC.p2.x = lineC.p1.x + 0; lineC.p2.y = lineC.p1.y - 1; var _local3 = pA.distance(pB); var _local4 = pB.distance(pC); var _local5 = calcTheta(pA, pB, pC); var _local6 = calcTheta(pA, pB, pD); var _local7 = calcTheta(pC, pB, pD); var _local8 = (targetTheta - _local5) / 2; var _local9 = _local6 + (_local8 * stiffness); var _local10 = _local7 - (_local8 * stiffness); pA.x = (_local3 * Math.sin(_local9)) + pB.x; pA.y = (_local3 * Math.cos(_local9)) + pB.y; pC.x = (_local4 * Math.sin(_local10)) + pB.x; pC.y = (_local4 * Math.cos(_local10)) + pB.y; var _local11 = getCentroid(); var _local12 = _local11.x - _local2.x; var _local13 = _local11.y - _local2.y; pA.x = pA.x - _local12; pA.y = pA.y - _local13; pB.x = pB.x - _local12; pB.y = pB.y - _local13; pC.x = pC.x - _local12; pC.y = pC.y - _local13; } function paint() { } function setStiffness(s) { stiffness = s; } function calcTheta(pa, pb, pc) { var _local5 = new org.cove.flade.util.Vector(pb.x - pa.x, pb.y - pa.y); var _local6 = new org.cove.flade.util.Vector(pc.x - pb.x, pc.y - pb.y); var _local7 = _local5.dot(_local6); var _local8 = _local5.cross(_local6); return(Math.atan2(_local8, _local7)); } function getCentroid() { var _local2 = ((pA.x + pB.x) + pC.x) / 3; var _local3 = ((pA.y + pB.y) + pC.y) / 3; return(new org.cove.flade.util.Vector(_local2, _local3)); } }

Library Items

Symbol 1 FontUsed by:2 3
Symbol 2 EditableTextUses:1Used by:4
Symbol 3 TextUses:1Used by:4
Symbol 4 MovieClip [fps]Uses:2 3
Symbol 20480 MovieClip [__Packages.org.cove.flade.surfaces.AbstractTile]
Symbol 20481 MovieClip [__Packages.org.cove.flade.surfaces.Surface]
Symbol 20482 MovieClip [__Packages.org.cove.flade.surfaces.RectangleTile]
Symbol 20483 MovieClip [__Packages.org.cove.flade.surfaces.CircleTile]
Symbol 20484 MovieClip [__Packages.org.cove.flade.primitives.RimParticle]
Symbol 20485 MovieClip [__Packages.org.cove.flade.DynamicsEngine]
Symbol 20486 MovieClip [__Packages.org.cove.flade.graphics.Graphics]
Symbol 20487 MovieClip [__Packages.org.cove.flade.util.Line]
Symbol 20488 MovieClip [__Packages.org.cove.flade.constraints.Constraint]
Symbol 20489 MovieClip [__Packages.org.cove.flade.constraints.SpringConstraint]
Symbol 20490 MovieClip [__Packages.org.cove.flade.surfaces.LineSurface]
Symbol 20491 MovieClip [__Packages.org.cove.flade.primitives.Particle]
Symbol 20492 MovieClip [__Packages.org.cove.flade.primitives.CircleParticle]
Symbol 20493 MovieClip [__Packages.org.cove.flade.primitives.Wheel]
Symbol 20494 MovieClip [__Packages.org.cove.flade.util.Vector]
Symbol 20495 MovieClip [__Packages.org.cove.flade.primitives.RectangleParticle]
Symbol 20496 MovieClip [__Packages.CarExample]
Symbol 20497 MovieClip [__Packages.org.cove.flade.composites.SpringBox]
Symbol 20498 MovieClip [__Packages.org.cove.flade.constraints.AngularConstraint]

Instance Names

"fpsField"Symbol 4 MovieClip [fps] Frame 1Symbol 2 EditableText

Special Tags

ExportAssets (56)Timeline Frame 1Symbol 4 as "fps"
ExportAssets (56)Timeline Frame 1Symbol 20480 as "__Packages.org.cove.flade.surfaces.AbstractTile"
ExportAssets (56)Timeline Frame 1Symbol 20481 as "__Packages.org.cove.flade.surfaces.Surface"
ExportAssets (56)Timeline Frame 1Symbol 20482 as "__Packages.org.cove.flade.surfaces.RectangleTile"
ExportAssets (56)Timeline Frame 1Symbol 20483 as "__Packages.org.cove.flade.surfaces.CircleTile"
ExportAssets (56)Timeline Frame 1Symbol 20484 as "__Packages.org.cove.flade.primitives.RimParticle"
ExportAssets (56)Timeline Frame 1Symbol 20485 as "__Packages.org.cove.flade.DynamicsEngine"
ExportAssets (56)Timeline Frame 1Symbol 20486 as "__Packages.org.cove.flade.graphics.Graphics"
ExportAssets (56)Timeline Frame 1Symbol 20487 as "__Packages.org.cove.flade.util.Line"
ExportAssets (56)Timeline Frame 1Symbol 20488 as "__Packages.org.cove.flade.constraints.Constraint"
ExportAssets (56)Timeline Frame 1Symbol 20489 as "__Packages.org.cove.flade.constraints.SpringConstraint"
ExportAssets (56)Timeline Frame 1Symbol 20490 as "__Packages.org.cove.flade.surfaces.LineSurface"
ExportAssets (56)Timeline Frame 1Symbol 20491 as "__Packages.org.cove.flade.primitives.Particle"
ExportAssets (56)Timeline Frame 1Symbol 20492 as "__Packages.org.cove.flade.primitives.CircleParticle"
ExportAssets (56)Timeline Frame 1Symbol 20493 as "__Packages.org.cove.flade.primitives.Wheel"
ExportAssets (56)Timeline Frame 1Symbol 20494 as "__Packages.org.cove.flade.util.Vector"
ExportAssets (56)Timeline Frame 1Symbol 20495 as "__Packages.org.cove.flade.primitives.RectangleParticle"
ExportAssets (56)Timeline Frame 1Symbol 20496 as "__Packages.CarExample"
ExportAssets (56)Timeline Frame 1Symbol 20497 as "__Packages.org.cove.flade.composites.SpringBox"
ExportAssets (56)Timeline Frame 1Symbol 20498 as "__Packages.org.cove.flade.constraints.AngularConstraint"




http://swfchan.com/22/106801/info.shtml
Created: 16/3 -2019 19:30:55 Last modified: 16/3 -2019 19:30:55 Server time: 12/05 -2024 02:16:41