小编Alp*_*Joe的帖子

Unity无法旋转粒子系统

我正在使用此资产中的oneShot Explosion_1:

https://assetstore.unity.com/packages/vfx/particles/particle-effects-1-90769

我想在x轴上旋转90°,但是如果我改变对象或其父对象的旋转,它对这个粒子系统没有影响.

我尝试过的:

  • 禁用 velocity over lifetime
  • 改变simulation spaceworld
  • 尝试旋转gameobjectparticle system
  • 添加gameobjectparticle system一个parent object并尝试rotategameobject.
  • 改变了 3D Start Rotation.

c# unity-game-engine

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

Unity:如何在按下UI按钮时停止使用"Input.GetMouseButton(0)"?

玩家是一个魔术师,当按下鼠标左键时可以用火球攻击敌人.

我使用的代码非常简单(在Update函数内部):

if (Input.GetMouseButton(0) && canShoot)
{
    canShoot = false;
    Invoke("AllowCanShoot", fireBreak);
    Attack();
}
Run Code Online (Sandbox Code Playgroud)

canShoot是一种bool阻止玩家每帧攻击一次的东西.

AllowCanShoot是设定功能canShoottrue.

Attack() 是处理攻击的功能,与此问题无关.

当玩家靠近交易者时,我还有一个UI按钮出现在屏幕上.当玩家按下UI按钮时,他会攻击交易者.

我想要的是,他可以按下按钮而不会攻击他.

我不能禁用对玩家的攻击,因为敌人也可以到达交易者,然后玩家可能必须进行战斗.

我尝试的是:

  • 设置canShoot boolfalse,当UI Button按下时,但这不起作用,播放器仍在攻击,也许Update函数在UI Button函数之前执行?!

c# unity-game-engine

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

Unity3D_2019:在运行时添加事件触发器

在 Unity3D 2017 版中,您可以EventTriggers通过执行以下操作一次添加多个:

for (int i = 0; i < 20; i++)
{
    EventTrigger.Entry pDown = new EventTrigger.Entry();
    pDown.eventID = EventTriggerType.PointerDown;
    pDown.callback.AddListener((eventdata) => { InventorySlotCopy(); });
    slots[i].GetComponent<EventTrigger>().triggers.Add(pDown);

    EventTrigger.Entry pUp = new EventTrigger.Entry();
    pUp.eventID = EventTriggerType.PointerUp;
    pUp.callback.AddListener((eventdata) => { InventorySlotInsert(); });
    slots[i].GetComponent<EventTrigger>().triggers.Add(pUp);
}
Run Code Online (Sandbox Code Playgroud)

whereslots只是一个arrayof GameObjects,每个都有一个Image和一个EventTrigger附加到它。

然而,使用如以上在Unity3D版2019所导致添加这些相同的代码EventTriggers而不是在分配functionsListener

在此处输入图片说明

在 Unity2019 中是如何做到的?

c# unity-game-engine

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

使用增强的 for 循环时出现异常,而正常的 for 循环工作正常

我正在学习java,有人告诉我,您可以for loop使用enhanced for loop.

现在我有那个正常的for loop

int[] array1 = {3, 6, 9, 12};

for (int i = 0; i < array1.length; i++)
{
    System.out.println(array1[i]);
}
Run Code Online (Sandbox Code Playgroud)

而这个返回

3 6 9 12

正如预期的那样。

当我将它用作 a 时enhanced for loop,就像这样:

for (int i : array1)
{
    System.out.println(array1[i]);          
}
Run Code Online (Sandbox Code Playgroud)

它返回

12

然后我得到一个例外:

线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:在 Tutorial.main(Tutorial.java:15) 处,长度为 4 的索引 6 越界

java

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

标签 统计

c# ×3

unity-game-engine ×3

java ×1