I got what i needed. I can add rocks to my game and check for hit detection. It runs fine for a bit than starts lagging. Plus I feel like a lot of duplicate code is used. Can the tweenlite gururs look at my code and suggest how i can use less duplicate code?
import com.greensock.*;
import com.greensock.easing.*;
import flash.display.Sprite;
import com.DetectCollision;
var _rock:rock;
var _rock2:rock2;
var _rock3:rock3;
var rockArray:Array = new Array();
var _hero:hero = new hero();
addChild(_hero);
addRocks(1);
addRocks(2);
addRocks(3);
function addRocks(num:*):void
{
trace(" : " + num);
if (num == 1)
{
if (_rock)
{
removeChild(_rock);
_rock = null;
}
_rock = new rock();
addChild(_rock);
var randomYPosiion:Number = Math.round(Math.random() * stage.stageHeight - 50);
_rock.x = stage.stageWidth;
_rock.y = randomYPosiion;
tweenRocks(_rock);
}
trace(" : " + num);
if (num == 2)
{
if (_rock2)
{
removeChild(_rock2);
_rock2 = null;
}
_rock2 = new rock2();
addChild(_rock2);
_rock2.x = stage.stageWidth;
var randomYPosiion2:Number = Math.round(Math.random() * stage.stageHeight - 50);
_rock2.y = randomYPosiion2;
tweenRocks(_rock2);
}
if (num == 3)
{
if (_rock3)
{
removeChild(_rock3);
_rock3 = null;
}
_rock3 = new rock3();
addChild(_rock3);
_rock3.x = stage.stageWidth;
var randomYPosiion3:Number = Math.round(Math.random() * stage.stageHeight - 50);
_rock3.y = randomYPosiion3;
tweenRocks(_rock3);
}
}
function tweenRocks(ob1:Sprite):void
{
var timeline:TimelineLite = new TimelineLite();
if (ob1 == _rock)
{
timeline.insert(new TweenLite (ob1, 5, {x:"-500", onUpdate:hitTest1, onComplete:addRocks, onCompleteParams:[1], autoRemoveChildren:true}));
}
if (ob1 == _rock2)
{
timeline.insert(new TweenLite (ob1, 5, {delay:3, x:"-500", onUpdate:hitTest2, onComplete:addRocks, onCompleteParams:[2], autoRemoveChildren:true}));
}
if (ob1 == _rock3)
{
timeline.insert(new TweenLite (ob1, 5, {delay:2, x:"-500", onUpdate:hitTest3, onComplete:addRocks, onCompleteParams:[3], autoRemoveChildren:true}));
}
}
function hitTest1():void
{
_rock.rotation++;
if (DetectCollision_C)
{
trace("_rock Detect");
DetectCollision_C = null;
}
var DetectCollision_C:DetectCollision = new DetectCollision(stage,_hero,_rock);
}
function hitTest2():void
{
_rock2.rotation++;
if (DetectCollision_C)
{
DetectCollision_C = null;
}
var DetectCollision_C:DetectCollision = new DetectCollision(stage,_hero,_rock2);
}
function hitTest3():void
{
_rock3.rotation++;
if (DetectCollision_C)
{
DetectCollision_C = null;
}
var DetectCollision_C:DetectCollision = new DetectCollision(stage,_hero,_rock3);
}