Четверг, 28 Марта 2024, 13:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблема с скриптом!
Проблема с скриптом!
Sniper00766Дата: Пятница, 09 Марта 2012, 22:53 | Сообщение # 1
частый гость
Сейчас нет на сайте
Написал скрипт на здоров'я( что бы показывало сколько у тебя здоров'я)
Вот он:
using UnityEngine;
using System.Collections;

public class PlayerHealth : MonoBehaviour {
// Блок публичных переменных
public int maxHealth = 100;
// Блок переменных локального пользования
private int _curHealth = 100;
private float healthBarLeaght;

void Start () {
// Ширина бара
healthBarLeaght = Screen.width /2;
if(maxHealth<1) maxHealth=1;
_curHealth=maxHealth;
}

void Update(){

}

void onGUI (){
//Выводится бар состаяния здоров'я
GUI.Box(new Rect(10,10,healthBarLeaght,20),_curHealth + "/" + maxHealth);

public void AddjustCurrentHealth( int adj){
_curHealth = adj;
if(_curHealth < 0) _curHealth =0;
if(_curHealth > maxHealth)_curHealth = maxHealth;
healthBarLeaght = (Screen.width / 2) * (_curHealth / (float)maxHealth);
}
}

И в консоле появляеться такая ошибка:
Assets/Bot_Scripts/PlayerHealth.cs(26,22): error CS1525: Unexpected symbol `public'

И я ничего не могу сделать,
Помогите пожалуста!


Сообщение отредактировал Sniper00766 - Пятница, 09 Марта 2012, 22:54
DemeronДата: Пятница, 09 Марта 2012, 23:16 | Сообщение # 2
User created in C++
Сейчас нет на сайте
Попробуй заменить
Code
public class PlayerHealth : MonoBehaviour {

на
Code
class PlayerHealth : MonoBehaviour {
MyACTДата: Суббота, 10 Марта 2012, 05:33 | Сообщение # 3
C# CODERS
Сейчас нет на сайте
Demeron, это ничего не изменит,т.к это само название скрипта и из-за него не может быть ошибки,там что то на 26 строке...

Добавлено (10.03.2012, 05:29)
---------------------------------------------
В 26 строке убери public ,а оставь void и то что далее

Добавлено (10.03.2012, 05:33)
---------------------------------------------

Code
using UnityEngine;  
using System.Collections;  

public class PlayerHealth : MonoBehaviour {  
// Блок публичных переменных  
public int maxHealth = 100;  
// Блок переменных локального пользования  
private int _curHealth = 100;  
private float healthBarLeaght;  

void Start () {  
// Ширина бара  
healthBarLeaght = Screen.width /2;  
if(maxHealth<1) maxHealth=1;  
_curHealth=maxHealth;  
}  

void Update(){  
AddjustCurrentHealth();
}  

void onGUI (){  
//Выводится бар состаяния здоров'я  
GUI.Box(new Rect(10,10,healthBarLeaght,20),_curHealth + "/" + maxHealth);  

void AddjustCurrentHealth() {
_curHealth = adj;  
if(_curHealth < 0) _curHealth =0;  
if(_curHealth > maxHealth)_curHealth = maxHealth;  
healthBarLeaght = (Screen.width / 2) * (_curHealth / (float)maxHealth);  
}  
}

Вот так попробуй,у тебя метода обработки вроде нет,попробовал добавить проверь


3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
Sniper00766Дата: Суббота, 10 Марта 2012, 10:00 | Сообщение # 4
частый гость
Сейчас нет на сайте
MyACT, Поставил твой скрипт и появилось две такие ошибки:
Assets/Bot_Scripts/PlayerHealth.cs(26,25): error CS1547: Keyword `void' cannot be used in this context
Assets/Bot_Scripts/PlayerHealth.cs(26,26): error CS1525: Unexpected symbol `(', expecting `)', `,', `;', `[', or `='
Что делать?
Просто очень хочеться доделать этот скрипт!

Добавлено (10.03.2012, 10:00)
---------------------------------------------
MyACT, Всё я разобрался, я нашел в инете этот скрипт написаный другим челом, если хочешь можешь глянуть:
[code]
// Выводит бар показывающий сосотояние здоровья игрока

using UnityEngine;
using System.Collections;

public class PlayerHealth : MonoBehaviour {
//публичные переменные для настроек
public int maxHealth = 100;

//блок переменных локального пользования
private int _curHealth = 100;
private float healthBarLength;

//производятся начальные расчеты при создании объекта
void Start () {
//задаем начальную ширину бара здоровья
healthBarLength = Screen.width /2;
//предотвращаем ввод неправильного значения
//максимального значения
if(maxHealth<1) maxHealth=1;
_curHealth = maxHealth;
}


void Update () {

}
// Выводится сам бар посредством графического интерфейса
//событие вывода этого интерфейса - стандартое
void OnGUI() {
//выводится бар состояния здоровья и числовые значения его
GUI.Box(new Rect(10,10,healthBarLength,20),_curHealth + "/" +maxHealth);
}
// Производим расчет нужной ширины бара состояния здоровья
//исходя из текущего состояния здоровья
public void AddjustCurrentHealth( int adj){
_curHealth = adj;
//блок по предотвращению неверного состояния здоровья
//меньше нуля и больше максимума
//так как изменяем здоровье из вне
if(_curHealth < 0) _curHealth = 0;
if(_curHealth > maxHealth) _curHealth = maxHealth;
//расчет бара непосредственно
healthBarLength = (Screen.width / 2) * (_curHealth / (float)maxHealth);
}
}

MyACTДата: Суббота, 10 Марта 2012, 11:51 | Сообщение # 5
C# CODERS
Сейчас нет на сайте
Sniper00766, ну исходи из ошибок в консоли там нет символов,и где то недочет.
Надеюсь ты понял ошибку сравнив те два кода? smile


3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
Sniper00766Дата: Суббота, 10 Марта 2012, 14:03 | Сообщение # 6
частый гость
Сейчас нет на сайте
MyACT, Да понял, спасибо за помощь!
rudolf86Дата: Среда, 14 Марта 2012, 18:45 | Сообщение # 7
частый гость
Сейчас нет на сайте
всем привет ,у меня такая проблема, открываю демо проект а когда нажимаю pley пишет (( all compiler errors have to be fixed before you can enter playmode! )) игра не запускается ..

Добавлено (14.03.2012, 18:45)
---------------------------------------------
всем привет ,у меня такая проблема, открываю демо проект а когда нажимаю pley пишет (( all compiler errors have to be fixed before you can enter playmode! )) игра не запускается ..

Добавлено (14.03.2012, 18:45)
---------------------------------------------
всем привет ,у меня такая проблема, открываю демо проект а когда нажимаю pley пишет (( all compiler errors have to be fixed before you can enter playmode! )) игра не запускается ..


ajgjdajgadm
05142Дата: Среда, 14 Марта 2012, 18:56 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
rudolf86, ну так прочитай что написано и исправь эти ошибки.

mecinvader
MyACTДата: Четверг, 15 Марта 2012, 04:19 | Сообщение # 9
C# CODERS
Сейчас нет на сайте
rudolf86, значит в каком то скрипте неполадка

3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
PashkoДата: Воскресенье, 25 Марта 2012, 10:05 | Сообщение # 10
уже был
Сейчас нет на сайте
У меня была такая же ошибка, причем в чистом проекте. Переустановка Unity помогла.
MyACTДата: Воскресенье, 25 Марта 2012, 13:55 | Сообщение # 11
C# CODERS
Сейчас нет на сайте
Pashko, лол что?!Что за бред ты сказал?

3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
JerichoДата: Четверг, 29 Марта 2012, 15:35 | Сообщение # 12
Ubuntu 11.10 user
Сейчас нет на сайте
Pashko, ага не заработала опера снес винду так получается?

Уютненькая страничка Ерихона

xxx: Так вы представляете, у него там фрагмент кода в 15 строк повторяется 37 раз. Если вынести в функцию можно сэкономить полтыщи строк!
yyy: это припев.
© Антон Антоненко
MyACTДата: Четверг, 29 Марта 2012, 15:46 | Сообщение # 13
C# CODERS
Сейчас нет на сайте
Jericho, да,получается так.Он либо тролль,либо не понял о чем речь

3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik


Сообщение отредактировал MyACT - Пятница, 30 Марта 2012, 14:36
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблема с скриптом!
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг