标签: unity-game-engine

如何减少C#百分比的数字

我正在Unity中开展一个游戏项目.我的问题是我想取一个数字并按特定百分比减少.我可以指向一个好的资源或提供一个好的答案.

c# math unity-game-engine

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

我的自定义地形生成插件实例化为大量预制件

问题是:通常情况下,脚本应该在周围的玩家一个立方体产生16个预制件,当我启动它工作得很好,因为它呼吁启动功能的产生,但是当我在另一块步骤与第一人控制它生成那些16块每秒钟,它会产生很多滞后现象并且真的很糟糕,不应该产生那么多预制件,任何帮助都非常值得赞赏.非常感谢你.

我不认为这是一个大问题,因为这是允许的,但在连续几天尝试解决这个问题之后,它似乎仍然无法正常工作.所以这就是我得到的:

  • 第一人称控制器
  • 2个脚本
    • 一个名为infiniteTerrain附加到第一个人控制器
      的脚本脚本的简短描述:该脚本以立方体的形状生成围绕玩家的预制件.它还将这些块保存到.txt文件中,以便在需要时加载它们以最小化滞后量.
    • 一个命名的脚本chunkRename附加到生成的每个块
      上脚本的简短描述:重命名块,以便在另一个脚本中轻松访问它们.

以下是脚本:

infiniteTerrain.js

#pragma strict

var terrains : GameObject[];
var newworld = true;
var trees : GameObject[];
var vegetation : GameObject[];
var rivers : GameObject[];
var mountains : GameObject[];
var playerTerrainUnavailable = false;
var x = 50;
var z = 50;
var y = 100;
var cameraDirection : float;
var chunkWidth = 50;

var chunk1 = " ";
var chunk2 = " ";
var …
Run Code Online (Sandbox Code Playgroud)

terrain unity-game-engine unityscript

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

"意外的符号`else'"如何修复此问题(if语句后没有分号)?

我在第56行收到错误...有人可以告诉我为什么吗?我没有在if语句的末尾添加任何分号,我也使用右括号放置......这里有什么问题?我将不胜感激,谢谢!

这是我的代码:

using UnityEngine;
using System.Collections;

public class PlayerPrefsManager : MonoBehaviour {

    const string MASTER_VOLUME_KEY = "master_volume";
    const string DIFFICULTY_KEY = "difficulty";
    const string LEVEL_KEY = "level_unlocked_";

    public static void SetMasterVolume(float volume)
    {
        if (volume > 0f && volume < 1f) {

            PlayerPrefs.SetFloat (MASTER_VOLUME_KEY, volume);

        } else {

            Debug.LogError ("Master volume out of range");

        }
    }

    public static float GetMasterVolume()
    {
        return PlayerPrefs.GetFloat (MASTER_VOLUME_KEY);
    }

    public static void UnlockLevel (int level)
    {
        if (level <= Application.levelCount - 1) {

            PlayerPrefs.SetInt(LEVEL_KEY …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

为什么打印(70*(50/100))返回0?

为什么它返回0?

print(70 * (50 / 100));
Run Code Online (Sandbox Code Playgroud)

70*0,5 = 35

我不知道为什么会这样.或者我犯了一些愚蠢的错误......我不知道

c# unity-game-engine

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


创建库存以接收从商店系统购买的商品

我想将从我的游戏商店购买的物品(例如装饰品)制作成在购买后进入库存

店铺系统

我创建了一个带有购买按钮和东西的商店系统,但我不知道如何使库存接收物品。这些是我为商店和库存编写的脚本:

店铺系统

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ShopManager : MonoBehaviour
{

    public int[,] shopItems = new int[9, 9];
    public float coins;
    public Text CoinsTXT;


    void Start()
    {
        CoinsTXT.text = "" + coins.ToString();

        //ID's
        shopItems[1, 1] = 1;
        shopItems[1, 2] = 2;
        shopItems[1, 3] = 3;
        shopItems[1, 4] = 4;
        shopItems[1, 5] = 5;
        shopItems[1, 6] = 6;
        shopItems[1, 7] = 7;
        shopItems[1, 8] = 8;

        //Price
        shopItems[2, 1] = …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

如何在统一旋转后将物体恢复到原来的位置?

我创建了一个项目,当我们触摸它时旋转立方体.当用户停止触摸立方体时,我希望立方体返回其原始位置.下面我添加了旋转立方体的源代码:

using UnityEngine;

using System.Collections;

[RequireComponent(typeof(MeshRenderer))]

public class dr : MonoBehaviour 
{

    #region ROTATE
    private float _sensitivity = 1f;
    private Vector3 _mouseReference;
    private Vector3 _mouseOffset;
    private Vector3 _rotation = Vector3.zero;
    private bool _isRotating;


    #endregion

    void Update()
    {
        if(_isRotating)
        {
            // offset
            _mouseOffset = (Input.mousePosition - _mouseReference); // apply rotation
            _rotation.y = -(_mouseOffset.x + _mouseOffset.y) * _sensitivity; // rotate
            gameObject.transform.Rotate(_rotation); // store new mouse position
            _mouseReference = Input.mousePosition;
        }

    }

    void OnMouseDown()
    {
        // rotating flag
        _isRotating = true;

        // store …
Run Code Online (Sandbox Code Playgroud)

c# rotatetransform rotation mouseevent unity-game-engine

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