forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Приседание (http://forum.boolean.name/showthread.php?t=18791)

SGREED 18.12.2013 02:12

Приседание
 
Есть код
PHP код:

var controller CharacterController;    
    var 
oldHeightfloat;    
    var 
newHeightfloat;    
    var 
newPos;   
    var 
bf boolean false;    

    function 
Start () {    
    
controller GetComponent(CharacterController);    
    
oldHeight controller.height;    
    }    

   function 
Update() {       
   
newPos = new Vector3(transform.position.xtransform.position.0.7ftransform.position.z);   
              if (
Input.GetMouseButton(1)) {   
                  
controller.height newHeight;   
                  
bf true;   
              } else {   
              if (
Input.GetMouseButton(1) && !Physics.Raycast (transform.positionVector2.up)) {   
                  
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
              } else {   
              if (
bf == true && !Physics.Raycast (transform.positionVector2.up)) {   
              
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
              }   
              }   
              }   
   } 

не могу сделать что бы когда обратно игрок встает он вставал плавно как и приседал

pax 18.12.2013 07:14

Ответ: Приседание
 
А где плавное приседание?

SGREED 18.12.2013 10:18

Ответ: Приседание
 
PHP код:

newPos = new Vector3(transform.position.xtransform.position.0.7ftransform.position.z); 


SGREED 18.12.2013 11:02

Ответ: Приседание
 
Немного обновил скрипт
PHP код:

var controller CharacterController;    
    var 
oldHeightfloat;    
    var 
newHeightfloat;    
    var 
newPos;   
    var 
bf boolean false;    

    function 
Start () {    
    
controller GetComponent(CharacterController);    
    
oldHeight controller.height;    
    }    

   function 
Update() {       
   
newPos = new Vector3(transform.position.xtransform.position.0.7ftransform.position.z);   
              if (
Input.GetMouseButton(1)) {   
                  
controller.height -= 0.1;   
                  
bf true;   
                  if(
controller.height <= newHeight)
                  {
                  
controller.height newHeight;
                  }
              } else {   
              if (
Input.GetMouseButton(1) && !Physics.Raycast (transform.positionVector2.up)) { 
              
controller.height += 0.1;
              if(
controller.height >= oldHeight)
              {
                  
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
                  }
              } else {   
              if (
bf == true && !Physics.Raycast (transform.positionVector2.up)) {   
              
controller.height += 0.1;
              if(
controller.height >= oldHeight)
              {
              
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
                  }
              }   
              }   
              }   
   } 

там где в конце все происходит нормально, поднимаеться он плавно, только он потом проваливаеться под все обьекты
PHP код:

if (bf == true && !Physics.Raycast (transform.positionVector2.up)) {   
              
controller.height += 0.1;
              if(
controller.height >= oldHeight)
              {
              
controller.height oldHeight;   
                  
transform.position newPos;   
                  
bf false;   
                  }
              }   
              }   
              } 

контроллер с колайдером всегда изменяться з центра, как можна его з низу менять,только так что бы колайдер там и оставался и менял только высота а не высоту с низу, его надо как то сжимать и в цетре вроде как, незнаю, подскажите


Часовой пояс GMT +4, время: 17:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot