forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вотпросы от mepihin! (http://forum.boolean.name/showthread.php?t=17716)

pax 05.01.2013 16:58

Ответ: Вотпросы от mepihin!
 
PHP код:

if(infire == true)
{
     
networkView.RPC("SetAnimation",RPCMode.All"death");
     
infire =false;



mepihin 05.01.2013 17:03

Ответ: Вотпросы от mepihin!
 
Цитата:

Сообщение от pax (Сообщение 248392)
PHP код:

if(infire == true)
{
     
networkView.RPC("SetAnimation",RPCMode.All"death");
     
infire =false;



Можно и так, но мне эту переменную не надо отключать, так как после нее идет дисконект

pax 05.01.2013 17:11

Ответ: Вотпросы от mepihin!
 
если не отклчючить, то она будет слать RPC столько сколько кадров пройдет до дисконнекта.

mepihin 05.01.2013 17:20

Ответ: Вотпросы от mepihin!
 
Цитата:

Сообщение от pax (Сообщение 248394)
если не отклчючить, то она будет слать RPC столько сколько кадров пройдет до дисконнекта.

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

pax 05.01.2013 17:22

Ответ: Вотпросы от mepihin!
 
Причем тут задержка? По сети не надо слать каждый кадр сообщение о необходимости проигрывания. Достаточно одного сообщения.

mepihin 05.01.2013 17:22

Ответ: Вотпросы от mepihin!
 
Цитата:

Сообщение от pax (Сообщение 248397)
Причем тут задержка? По сети не надо слать каждый кадр сообщение о необходимости проигрывания. Достаточно одного сообщения.

Я только что сделал так как ты сказал. Результат:
Чувак не проигрывает анимацю смерти. Сделал так:
PHP код:

if(infire == true)
        {
            
Death();
        }

function 
Death()
{
    
networkView.RPC("SetAnimation",RPCMode.All"death");
    yield 
WaitForSeconds(3);
    
Network.Disconnect(200);



mepihin 05.01.2013 17:27

Ответ: Вотпросы от mepihin!
 
Еще вопрос:
Почему я не могу отключить контроллер свой из скрипта FPSInputController?
PHP код:

transform.GetComponent("Player").enabled false

Пробывал и без кавычек, но все равно никак.

pax 05.01.2013 17:36

Ответ: Вотпросы от mepihin!
 
по твоему коду, что приводил выше, я бы написал так:

PHP код:

function OnTriggerEnter(other:Collider)
{
    if(
networkView.isMine)
    {
        if(
other.tag == "fire")
        {
            
infire true;
            
networkView.RPC("SetAnimation",RPCMode.All"death");
        }
    }
}
@
RPC
function SetAnimation(animationName:System.String)
{
    
transform.animation.CrossFade(animationName);


а по второму вопросу - компоненты на одном и том же GO?

mepihin 05.01.2013 17:38

Ответ: Вотпросы от mepihin!
 
Цитата:

а по второму вопросу - компоненты на одном и том же GO?
ДА

pie 05.01.2013 17:41

Ответ: Вотпросы от mepihin!
 
Если скрипт находиться на игроке, то:
Код:

transform.GetComponent("FPSInputController").enabled = false;
Если на другом объекте:
Код:

var player = (тут ищем либо по тегу)
player.GetComponent("FPSInputController").enabled = false;

или:
Код:

public player : Transform; // сюда кладем игрока
player.GetComponent("FPSInputController").enabled = false;

или:
Код:

public player_script : FPSInputController; // сюда кладем игрока
player_script.enabled = false;


mepihin 05.01.2013 17:46

Ответ: Вотпросы от mepihin!
 
Цитата:

Сообщение от pie (Сообщение 248402)
Если скрипт находиться на игроке, то:
Код:

transform.GetComponent("FPSInputController").enabled = false;
Если на другом объекте:
Код:

var player = (тут ищем либо по тегу)
player.GetComponent("FPSInputController").enabled = false;

или:
Код:

public player : Transform; // сюда кладем игрока
player.GetComponent("FPSInputController").enabled = false;

или:
Код:

public player_script : FPSInputController; // сюда кладем игрока
player_script.enabled = false;


Пишет это при том коде:
Цитата:

Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js(83,54): BCE0019: 'enabled' is not a member of 'UnityEngine.Component'.
PHP код:

function Death()
{
    
networkView.RPC("SetAnimation",RPCMode.All"death");
    
transform.GetComponent("FPSInputController").enabled false;
    
transform.GetComponent("Player").enabled false;
    yield 
WaitForSeconds(3);
    
Network.Disconnect(200);



pax 05.01.2013 18:11

Ответ: Вотпросы от mepihin!
 
Такого и не знали про js?
PHP код:

function Death() 

    
networkView.RPC("SetAnimation",RPCMode.All"death"); 
    
transform.GetComponent.<FPSInputController>().enabled false
    
transform.GetComponent.<Player>().enabled false
    yield 
WaitForSeconds(3); 
    
Network.Disconnect(200); 



mepihin 05.01.2013 18:13

Ответ: Вотпросы от mepihin!
 
Цитата:

Сообщение от pax (Сообщение 248407)
Такого и не знали про js?
PHP код:

function Death() 

    
networkView.RPC("SetAnimation",RPCMode.All"death"); 
    
transform.GetComponent.<FPSInputController>().enabled false
    
transform.GetComponent.<Player>().enabled false
    yield 
WaitForSeconds(3); 
    
Network.Disconnect(200); 



Цитата:

Assets/Standard Assets/Character Controllers/Sources/Scripts/FPSInputController.js(85,29): BCE0018: The name 'Player' does not denote a valid type ('not found').
Вот что пишет

pax 05.01.2013 18:15

Ответ: Вотпросы от mepihin!
 
у тебя есть компонент с таким имененм?

mepihin 05.01.2013 19:14

Ответ: Вотпросы от mepihin!
 
Цитата:

Сообщение от pax (Сообщение 248409)
у тебя есть компонент с таким имененм?

конечно


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

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