Game Development Community

Spawn an object

by Danny Mejia · in Torque Game Builder · 12/20/2006 (8:58 pm) · 1 replies

I am try to get a comet to spawn after it has been delete. here is my code but the comet will not spawn afert its been hit by a missile. Could someone help me


function cometShip::spawn(%this)
{
%this.setLinearVelocityX(getRandom(%this.minSpeed, %this.maxSpeed));
%this.setPositionY(getRandom(%this.minY, %this.maxY));
%this.setPositionX(%this.startX);
%newcomet = %this.createCopy();
}



function cometShip::createCopy(%this)
{
%copy = new t2dStaticSprite()
{
scenegraph = %this.scenegraph;
class = %this.class;
imageMap = %this.imageMap;
size = %this.size;
position = %this.position;
CollisionActiveReceive = %this.CollisionActiveReceive;
CollisionActiveSend = %this.CollisionActiveSend;
CollisionCallback = %this.CollisionCallback;
CollisionResponseMode = %this.CollisionResponseMode;
CollisionDetectionMode = %this.CollisionDetectionMode;
CollisionPolyList = %this.CollisionPolyList;
CollisionPhysicsReceive = %this.CollisionPhysicsReceive;
CollisionPhysicsSend = %this.CollisionPhysicsSend;
WorldLimitCallback = %this.WorldLimitCallback;
WorldLimitMax = %this.WorldLimitMax;
WorldLimitMin = %this.WorldLimitMin;
WorldLimitMode = %this.WorldLimitMode;
squadNum = %this.squadNum;
squadType = %this.squadType;
minY = %this.minY;
maxY = %this.maxY;
minSpeed = %this.minSpeed;
maxSpeed = %this.maxSpeed;
};
return %copy;
}

#1
12/20/2006 (9:17 pm)
Ok here is the changes a made:

function cometShip::spawn(%this)
{
%this.setLinearVelocityX(getRandom(%this.minSpeed, %this.maxSpeed));
%this.setPositionY(getRandom(%this.minY, %this.maxY));
%this.setPositionX(%this.startX);
%newcomet= %this.createCopy();
}



function cometShip::createCopy(%this)
{
%copy = new t2dAnimatedSprite()
{
scenegraph = %this.scenegraph;
class = %this.class;
imageMap = %this.imageMap;
size = %this.size;
position = %this.position;
CollisionActiveReceive = %this.CollisionActiveReceive;
CollisionActiveSend = %this.CollisionActiveSend;
CollisionCallback = %this.CollisionCallback;
CollisionResponseMode = %this.CollisionResponseMode;
CollisionDetectionMode = %this.CollisionDetectionMode;
CollisionPolyList = %this.CollisionPolyList;
CollisionPhysicsReceive = %this.CollisionPhysicsReceive;
CollisionPhysicsSend = %this.CollisionPhysicsSend;
WorldLimitCallback = %this.WorldLimitCallback;
WorldLimitMax = %this.WorldLimitMax;
WorldLimitMin = %this.WorldLimitMin;
WorldLimitMode = %this.WorldLimitMode;
squadNum = %this.squadNum;
squadType = %this.squadType;
minY = %this.minY;
maxY = %this.maxY;
minSpeed = %this.minSpeed;
maxSpeed = %this.maxSpeed;
};
return %copy;
}

But now I have to take out this line:

%newcomet= %this.createCopy();

To get my first comet to come across the screen but when I shoot the comet it want re-spawn.