- Home /
How to make a animated minimap?
hello guys i have make 2 scripts the 1 is the minimap and the other is a script that make a jpg images to gif, just play it in loop, but i dont khow how i can make that two scripts to 1 so i am gonna have a animated minimap, please help!
//This is the script that make the images to gif. var LoadingScreens : Texture[];
function Start()
{
Counter = 1;
i = 0;
}
function OnGUI()
{
GUI.Label(Rect(0, 0, 480, 320), LoadingScreens[i]);
Counter += 1;
if(Counter%100 == 0)
i+=1;
if (i>3)
{ Counter = 0;
i=0;
}
}
//minimap script
public var blip : Texture;
public var radarBG : Texture;
public var centerObject : Transform;
public var mapScale = 0.3;
public var mapCenter = Vector2(50,50);
function OnGUI () {
GUI.matrix = Matrix4x4.TRS (Vector3.zero, Quaternion.identity, Vector3(Screen.width / 600.0, Screen.height / 450.0, 1));
// Draw player blip (centerObject)
bX=centerObject.transform.position.x * mapScale;
bY=centerObject.transform.position.z * mapScale;
bX=centerObject.transform.position.x * mapScale;
bY=centerObject.transform.position.z * mapScale;
GUI.DrawTexture(Rect(mapCenter.x-32,mapCenter.y-32,64,64),radarBG);
// Draw blips for zombies
DrawBlipsForEnemies();
}
function DrawBlipsForCows(){
// Find all game objects with tag Cow
var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("Cow");
var distance = Mathf.Infinity;
var position = transform.position;
// Iterate through them
for (var go : GameObject in gos) {
drawBlip(go,blip);
}
}
function drawBlip(go,aTexture){
centerPos=centerObject.position;
extPos=go.transform.position;
// first we need to get the distance of the enemy from the player
dist=Vector3.Distance(centerPos,extPos);
if(dist<=200) { // New - should be more optimal
dx=centerPos.x-extPos.x; // how far to the side of the player is the enemy?
dz=centerPos.z-extPos.z; // how far in front or behind the player is the enemy?
// what's the angle to turn to face the enemy - compensating for the player's turning?
deltay=Mathf.Atan2(dx,dz)*Mathf.Rad2Deg - 270 - centerObject.eulerAngles.y;
// just basic trigonometry to find the point x,y (enemy's location) given the angle deltay
bX=dist*Mathf.Cos(deltay * Mathf.Deg2Rad);
bY=dist*Mathf.Sin(deltay * Mathf.Deg2Rad);
bX=bX*mapScale; // scales down the x-coordinate by half so that the plot stays within our radar
bY=bY*mapScale; // scales down the y-coordinate by half so that the plot stays within our radar
// Old if(dist<=200){ // this is the diameter of our largest radar circle
GUI.DrawTexture(Rect(mapCenter.x+bX,mapCenter.y+bY,2,2),aTexture);
}
}
function DrawBlipsForEnemies(){
// Find all game objects tagged Enemy
var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("Enemy");
var distance = Mathf.Infinity;
var position = transform.position;
// Iterate through them and call drawBlip function
for (var go : GameObject in gos) {
drawBlip(go,blip);
}
}
I don't think unity supports animated gifs. for $$anonymous$$imaps I suggest looking at 'Bootcamp'. It has a great example of a working, simple $$anonymous$$imap.
you dont understand... is a collection of jpg images .. the point is how i can play them in a row for a gif illusion.
Your answer
Follow this Question
Related Questions
Can I make animations snap to a frame? 1 Answer
Can one play movies or gifs on textures in unity? 2 Answers
Turning a Unity animation into a GIF? 0 Answers
How to use this gif in animation 4 Answers
Main Menu Animation Effects? 0 Answers