تحريك السبرايك فقط
تحريك موقع plane الحامل لسبرايت
مقتبس من درس
https://www.youtube.com/watch?v=4Hra...s&spfreload=10
كود PHP:
//vars for the whole sheet
var colCount : int = 4;
var rowCount : int = 4;
//vars for animation
var row...... : int = 0; //Zero Indexed
var col...... : int = 0; //Zero Indexed
var totalCells : int = 4;
var fps : int = 10;
var offset : Vector2; //Maybe this should be a private var
//Update
function Update () {
SetSpriteAnimation(colCount,rowCount,row......,col......,totalCells,fps);
}
//SetSpriteAnimation
function SetSpriteAnimation(colCount : int,rowCount : int,row...... : int,col...... : int,totalCells : int,fps : int){
// Calculate index
var index : int = Time.time * fps;
// Repeat when exhausting all cells
index = index % totalCells;
// Size of every cell
var size = Vector2 (1.0 / colCount, 1.0 / rowCount);
// split into horizontal and vertical index
var uIndex = index % colCount;
var vIndex = index / colCount;
// build offset
// v coordinate is the bottom of the image in opengl so we need to invert.
offset = Vector2 ((uIndex+col......) * size.x, (1.0 - size.y) - (vIndex+row......) * size.y);
renderer.material.SetTextureOffset ("_MainTex", offset);
renderer.material.SetTextureScale ("_MainTex", size);
}
تحريك موقع plane الحامل لسبرايت
كود PHP:
var startPoint : Vector3;
var endPoint : Vector3;
var speed: float;
private var increment:float;
var isMoving : boolean;
//Walking stats
var walkCounter : int;
var walkCounter2 : int;
var isInCombat : boolean;
var CombatCamera1 : GameObject ;
var CombatCamera : GameObject ;
function Start () {
startPoint = transform.position;
endPoint = transform.position;
walkCounter2 = Random.Range(5,15);
}
function Update () {
var sprite = gameObject.GetComponent(animatiomsprite) ;
if(increment <=1 && isMoving == true) {
increment += speed/100;
Debug.Log("Moving");
}
else {
isMoving = false;
Debug.Log("Stopped");
}
if(isMoving){
transform.position = Vector3.Lerp(startPoint, endPoint, increment);
}
else
{
sprite.totalCells = 1 ;
}
if(isInCombat){
if(Input.GetKey("w") && isMoving == false) {
sprite. row...... = 3 ;
sprite. totalCells = 4 ;
calculateWalk();
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x,transform.position.y,transform.position.z + 5);
}
if(Input.GetKey("s") && isMoving == false) {
sprite. row...... = 4 ;
sprite. totalCells = 4 ;
calculateWalk();
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x,transform.position.y,transform.position.z - 5);
}
if(Input.GetKey("a") && isMoving == false) {
sprite. row...... = 2 ;
sprite. totalCells = 4 ;
calculateWalk();
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x - 5,transform.position.y,transform.position.z );
}
if(Input.GetKey("d") && isMoving == false) {
sprite. row...... = 1 ;
sprite. totalCells = 4 ;
calculateWalk();
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x + 5,transform.position.y,transform.position.z);
}
}
}
function calculateWalk (){
if(walkCounter >= walkCounter2){
walkCounter2 = Random.Range(5,15);
walkCounter = 0;
enterCombat();
}
else{
walkCounter++;
}
}
function enterCombat () {
CombatCamera1.active = false ;
CombatCamera.active = true;
isInCombat = true;
Debug.Log("You have entered COMBAT!");
}
مقتبس من درس
https://www.youtube.com/watch?v=4Hra...s&spfreload=10
تعليق