小编Muh*_*han的帖子

统一管理时间事件的正确方法

我必须做一些基于时间的任务(模拟),例如,当游戏开始时:

  • 2 分钟后,A 列列车启动。
  • 6 分钟后,星号列车 B
  • 12分钟后开始火车C等

但请记住,如果我想快速查看模拟,计时器应该能够加快速度。

现在我正在考虑两种方法(也欢迎其他方法,这就是问题的目的)

每个对象(Train)脚本通过 WaitForSeconds 管理其时间:

void Start()
{
    StartCoroutine("MyEvent");
}
     
private IEnumerator MyEvent()
{
    
    yield return new WaitForSeconds(120f); // wait two minutes
    //Launch Train
  
}
Run Code Online (Sandbox Code Playgroud)

这种脚本附加到每个需要在一定时间后执行操作的对象:

问题:

  1. 我怎样才能加快它的时间?
  2. 也许性能密集型。由于每个脚本管理自己的协同例程(也许我错了)

计时器的一个全局脚本:

    function Update ()
    {
    Timer += Time.deltaTime; //Time.deltaTime will increase the value with 1 every second.
    if (timer>= 120){
    //launch train, an so one conditions
   //Or get timer variable in other script and compare time on update 
    }

} 
Run Code Online (Sandbox Code Playgroud)

现在使用上面的脚本,我可以在另一个脚本中获取 Timer 变量,并可以根据方法中的时间执行我的任务 …

c# time events unity-game-engine

1
推荐指数
1
解决办法
9695
查看次数

unity webgl 中带有数组参数的 SendMessage

Unity SendMessage只能传递一个参数,并且可以是一个数组。所以我正在调用 javascript 的 sendMessage 并调用 C# 方法(实际上是 webgl 方法)

var arr = [x,y,z];
gameInstance.SendMessage("Cube","SetGameObjectPosition",arr);
Run Code Online (Sandbox Code Playgroud)

但出现这个错误

由于以下原因调用错误处理程序

Uncaught 2,2,2 没有 SendMessage 支持的类型。[违规]“单击”处理程序花费了 8994 毫秒 blob:http://localhost/1ff50200-cb3a-4367-ab45-f02e9734fac2:2 Uncaught 2,2,2 没有 SendMessage 支持的类型。

SendMessage @ blob:http://localhost/1ff50200-cb3a-4367-ab45-f02e9734fac2:2

发送消息@UnityLoader.js:4

SetObjectPosition @(索引):44

onclick @(索引):65(索引):65

[违规]“点击”处理程序花费了 9000 毫秒

unity-game-engine unity-webgl

1
推荐指数
1
解决办法
8341
查看次数

使用批处理文件自动进行MySQL备份

我正在尝试自动备份mysql数据库 ; 搜索了很多链接,得到了很多参考,但是甚至找不到适合我的单个选项(接受付费软件)。最后,我正在尝试此链接

现在我有了批处理脚本(如下所示),我根据自己的凭据对其进行了编辑,但是它正在创建空的SQL文件。不知道为什么 我是MYSQL的新手,它的自动备份机制非常差。

@ECHO OFF

set TIMESTAMP=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%

REM Export all databases into file C:\path\backup\databases.[year][month][day].sql
"C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe" –-user=root –-password=xyz --all-databases --result-file="D:\dbbackup.%TIMESTAMP%.sql"

REM Change working directory to the location of the DB dump file.
C:
CD \path-to\backup\

REM Compress DB dump file into CAB file (use "EXPAND file.cab" to decompress).
MAKECAB "databases.%TIMESTAMP%.sql" "databases.%TIMESTAMP%.sql.cab"

REM Delete uncompressed DB dump file.
DEL /q /f "databases.%TIMESTAMP%.sql"
Run Code Online (Sandbox Code Playgroud)

我运行此批处理文件,它创建备份但空的sql文件。

mysql database backup batch-file

0
推荐指数
1
解决办法
1万
查看次数

如何在没有刚体或射线投射的情况下检测触发/碰撞

我有两个游戏对象A和B,我想检测触发器b / w。请记住,由于性能原因,我既不想将Rigidbody用于对撞机,也不想使用Physics.Raycast

我不想使用Raycast,因为它很贵,而且Rigidbody也不允许使用它区分哪个对象触发另一个对象(例如汽车撞摩托车或摩托车撞了汽车)。

因此,我的简单问题是,是否可以使用第三,第四,第五或第六种方法而不使用任何Raycast / Rigidbody / Collider来检测触发器?

c# unity-game-engine

0
推荐指数
1
解决办法
3446
查看次数

获取所有孩子,Unity3d中的孩子

到目前为止,我已经尝试过这个来获取对象的所有子项,但它只带来两个子对象.不是孩子的全部孩子.我如何获得所有并循环获取特定的名称对象

Transform[] objChild = gameObject.transform.GetComponentsInChildren<Transform>();
for (var i = 0; i < objChild.Length; i++)
{
    objWheel.Add(objChild[i].gameObject.transform.GetChild(i).gameObject);
    objWheelAnimation.Add(objChild[i].gameObject.transform.GetChild(i).GetComponent<Animation>());
    if (objChild[i].gameObject.name.Contains("Wheel Rotation"))
    {               
    }
}
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

0
推荐指数
2
解决办法
8676
查看次数

HTML表属性用于保存隐藏数据

html表td 中是否有任何属性可用于保存我的数据并使用jquery轻松获取.就像假设我一样

<table>
  <tr>
    <td>Cell A</td>
    <td>Cell B</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

从上面的片段,我可以通过使用jquery的html函数获得Cell值,但我想要这样的东西

<table>
      <tr>
        <td dataSaveHere>Cell A</td>
        <td dataSaveHere>Cell B</td>
      </tr>
    </table>
Run Code Online (Sandbox Code Playgroud)

我在td中存储了一些值,以便以后我可以轻松访问它

html javascript jquery

0
推荐指数
1
解决办法
920
查看次数

三元运算符在 C# 中的工作原理

我最近尝试了 unity,并在其中一个 youtube 视频剪辑中看到了他们的代码如下:

    Random.Range(0, 2) == 0 ? -1 : 1;
Run Code Online (Sandbox Code Playgroud)

我理解 Random.Range() 但后面的部分是什么意思?先感谢您

c# unity-game-engine

-1
推荐指数
1
解决办法
4171
查看次数

在htc Vive中获取交互对象

我刚刚开始学习HTC vive应用程序开发与团结,并希望与Object进行交互,并希望在控制器与之交互时获取它.尝试学习StreamVR Unity Toolkit文档.我在示例演示中找到了一个场景,其中Gameobject通过控制器进行交互,但涉及的脚本很多.我很惊讶在一个立方体VRTK_InteractalbeObject被附加并且它正在响应控制器.我怎样才能在htc vive中获得交互对象.

c# unity-game-engine virtual-reality

-2
推荐指数
1
解决办法
1549
查看次数

将天数转换为C#中的月份和年份

我有1到365的可用天数,我想将其转换成年-月-年。我知道有一个a年问题,初始搜索表明在没有任何上下文的情况下很难编写算法。为了牢记这一事实,我还提供了年份详细信息。

 string GetDate(int day, int year)
    {
        ///logic to convert any day (1-365) with an year context

    }
Run Code Online (Sandbox Code Playgroud)

c# datetime

-5
推荐指数
1
解决办法
57
查看次数