Я работаю над магазином, где пользователь может увеличить урон своего оружия, когда он нажимает на кнопку. Текущий урон отображается вместе с его деньгами, которые хранятся как «счет» в настройках игрока в редакторе. Я установил свои деньги или "оценка" должна быть 80, я хочу, чтобы это стоило 45 денег каждый раз, когда пользователь хочет увеличить урон на 5, это мой скрипт, но по какой-то причине он не работает
using UnityEngine;
using System.Collections;
public class IncreaseDamage : MonoBehaviour
{
private int damage;
private int math;
private float money;
private float math2;
void Update()
{
money = PlayerPrefs.GetFloat("score");
}
public void increaseDamage()
{
if(money >= 45)
{
damage = PlayerPrefs.GetInt("damage");
math = damage + 5;
PlayerPrefs.SetInt("damage",math);
math2 = money - 45;
PlayerPrefs.SetFloat("score",math2);
}
}
}
РЕДАКТИРОВАТЬ: я написал сценарии, которые проверяют кнопку, и она работает нормально, она перестала работать, как только я добавил оператор if.
другие важные сценарии
другие важные сценарии
EDIT: я создал сценарии, которые проверяют кнопку, и она работает нормально, она перестала работать, как только я добавил оператор if.
другие важные сценарии
Это значение показывает текущий урон игрока, оно прикреплено к UIText
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GetPlayerDamage : MonoBehaviour {
Text text;
private int damage;
void Awake(){
text = GetComponent();
}
void Update(){
damage = PlayerPrefs.GetInt("damage");
text.text = "Damage: " + damage;
}
}
это управляет счетом или деньгами (то же самое)
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class ScoreManager : MonoBehaviour
{
public static int score;
Text text;
void Awake()
{
text = GetComponent();
score = PlayerPrefs.GetInt("score");
}
void Update ()
{
text.text = "Score: " + score;
PlayerPrefs.SetInt("score", score);
}
}
деньги отображаются в виде текстового сообщения для пользователя
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class MoneyManager : MonoBehaviour {
public static int score;
Text text;
void Awake()
{
text = GetComponent();
}
void Update ()
{
text.text = "Money: " + PlayerPrefs.GetInt("score");
}
}
Подробнее здесь: https://stackoverflow.com/questions/346 ... uted-unity
С#, если оператор не выполняется единство ⇐ C#
Место общения программистов C#
1731964607
Anonymous
Я работаю над магазином, где пользователь может увеличить урон своего оружия, когда он нажимает на кнопку. Текущий урон отображается вместе с его деньгами, которые хранятся как «счет» в настройках игрока в редакторе. Я установил свои деньги или "оценка" должна быть 80, я хочу, чтобы это стоило 45 денег каждый раз, когда пользователь хочет увеличить урон на 5, это мой скрипт, но по какой-то причине он не работает
using UnityEngine;
using System.Collections;
public class IncreaseDamage : MonoBehaviour
{
private int damage;
private int math;
private float money;
private float math2;
void Update()
{
money = PlayerPrefs.GetFloat("score");
}
public void increaseDamage()
{
if(money >= 45)
{
damage = PlayerPrefs.GetInt("damage");
math = damage + 5;
PlayerPrefs.SetInt("damage",math);
math2 = money - 45;
PlayerPrefs.SetFloat("score",math2);
}
}
}
РЕДАКТИРОВАТЬ: я написал сценарии, которые проверяют кнопку, и она работает нормально, она перестала работать, как только я добавил оператор if.
другие важные сценарии
другие важные сценарии
EDIT: я создал сценарии, которые проверяют кнопку, и она работает нормально, она перестала работать, как только я добавил оператор if.
другие важные сценарии
Это значение показывает текущий урон игрока, оно прикреплено к UIText
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GetPlayerDamage : MonoBehaviour {
Text text;
private int damage;
void Awake(){
text = GetComponent();
}
void Update(){
damage = PlayerPrefs.GetInt("damage");
text.text = "Damage: " + damage;
}
}
это управляет счетом или деньгами (то же самое)
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class ScoreManager : MonoBehaviour
{
public static int score;
Text text;
void Awake()
{
text = GetComponent();
score = PlayerPrefs.GetInt("score");
}
void Update ()
{
text.text = "Score: " + score;
PlayerPrefs.SetInt("score", score);
}
}
деньги отображаются в виде текстового сообщения для пользователя
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class MoneyManager : MonoBehaviour {
public static int score;
Text text;
void Awake()
{
text = GetComponent();
}
void Update ()
{
text.text = "Money: " + PlayerPrefs.GetInt("score");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/34644446/c-sharp-if-statement-not-being-excuted-unity[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия