【问题标题】:Melee System errors (Unityscript)近战系统错误(Unityscript)
【发布时间】:2015-02-20 21:19:29
【问题描述】:

您好,我是编码新手,几个月来一直遇到此代码问题。无论我做什么,似乎总是会出现一个不断弹出的错误。请帮忙。

#pragma strict

var damage : int = 1;

var distance : float; 

function update ()   
{ 
     var hit : raycasthit;    
     if (physics.raycast ( transform.position, transform.transformdirection ( vector3.forward , hit ); ); 

     {distance = hit.distance; hit.transform.sendmessage ( "applydamage" , damage , sendmessageoptions.dontrequirereceiver); }; 
};                                      

【问题讨论】:

  • 你能告诉我们你遇到了什么错误吗?
  • 好的,所以我改变了一些东西,但现在我在第 16 行有错误 BCE 0044。它说它想要 } 但是当我把它放入错误并没有消失。但是当我把它放进去时,我得到一个错误 BCE 0020 和 BCE 0019。#pragma strict var damage : int = 1;变量距离:浮动;函数更新 () { var hit = Transform.TransformDirection (Vector3.forward); if (Physics.Raycast( transform.position, hit )) { distance = hit.distance; gameObject.SendMessage("applydamage" , 伤害); ; }; };
  • 请尝试下面的示例代码。

标签: system unityscript


【解决方案1】:

有很多语法和名称错误。

首先我认为你应该学习编程基础知识,然后是特定的语言语法,然后是平台库。

2、SendMessageOptions.DontRequireReceiver

3、Physics.Raycast参数不正确。

4,TransformDirection

5,RaycastHit

6、SendMessage

7、Update

也许下面更干净

#pragma strict

var damage : int = 1;   
var distance : float;

function Update (){ 
    var hit : RaycastHit;
    if (Physics.Raycast( transform.position, transform.TransformDirection ( vector3.forward) , hit ){
        distance = hit.distance; 
        hit.transform..SendMessage( "applydamage" , damage , SendMessageOptions.DontRequireReceiver);
    };
};

还请始终查看Unity Documentation 以了解逻辑和解决语法错误。

【讨论】:

    猜你喜欢
    • 2014-01-31
    • 2020-09-03
    • 2013-10-05
    • 2012-11-26
    • 2023-03-25
    • 1970-01-01
    • 2017-11-15
    • 2014-11-29
    • 1970-01-01
    相关资源
    最近更新 更多