Пятница, 29 Ноября 2024, 02:23

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите со скриптом C# в Unity3d
VitelchДата: Пятница, 29 Апреля 2016, 22:33 | Сообщение # 1
был не раз
Сейчас нет на сайте
Помогите, пожалуйста, исправить скрипт. Нужно чтобы анимация проигрывалась по нажатию кнопки. Пока что лишь выдает ошибку "Assets/Scripts/Attack.cs(15,23): error CS1061: Type `UnityEngine.Component' does not contain a definition for `Play' and no extension method `Play' of type `UnityEngine.Component' could be found (are you missing a using directive or an assembly reference?)".
Вот скрипт


Сообщение отредактировал Vitelch - Пятница, 29 Апреля 2016, 22:33
Robinzon787Дата: Пятница, 29 Апреля 2016, 22:58 | Сообщение # 2
Construct'орщик
Сейчас нет на сайте
Цитата Vitelch ()
animation.Play("Attakc");//как-то так должно быть

Если я правильно понял, должно быть написано "Attack", а не "Attakc"


Переустановил ос - начал жизнь с чистого листа.
VitelchДата: Пятница, 29 Апреля 2016, 23:05 | Сообщение # 3
был не раз
Сейчас нет на сайте
Хм... исправил.Теперь вот так при нажатии кнопки пишет "MissingComponentException: There is no 'Animation' attached to the "Player" game object, but a script is trying to access it.
You probably need to add a Animation to the game object "Player". Or your script needs to check if the component is attached before using it.
UnityEngine.Animation.Play (System.String animation) (at C:/buildslave/unity/build/artifacts/generated/common/modules/Animation/AnimationsBindings.gen.cs:420)
Player2.Update () (at Assets/Scripts/Player2.cs:35)".Попробовал поставить Animation на объект. Но ничего не изменилось
AlfeДата: Пятница, 29 Апреля 2016, 23:07 | Сообщение # 4
старожил
Сейчас нет на сайте
Vitelch, а как насчёт получить в скрипте Animation? Мне кажется Unity просто не понимает что и как она должна воспроизводить.

Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin


Сообщение отредактировал Alfe - Пятница, 29 Апреля 2016, 23:08
VitelchДата: Пятница, 29 Апреля 2016, 23:09 | Сообщение # 5
был не раз
Сейчас нет на сайте
Перевел ошибку, начал исправлять. Теперь пишет, мол, нет клипа анимации "The animation state Attack could not be played because it couldn't be found!
Please attach an animation clip with the name 'Attack' or call this function only for existing animations.
UnityEngine.Animation:Play(String)
Attack:Update() (at Assets/Scripts/Attack.cs:16)"
AlfeДата: Пятница, 29 Апреля 2016, 23:16 | Сообщение # 6
старожил
Сейчас нет на сайте
Код

using Unity.Engine;
using System.Collections;

public class Attack : MonoBehaviour {
public Animation animation;

//Use this for initialization
void Start()
{
animation = GetComponent<Animation>();
}

//Update is called once  per frame
void Update()
{

if(Input.GetKey(KeyCode.Space))
{
animation.Play("Attakc");
}
}
}


Попробуйте, может сработает.


Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin


Сообщение отредактировал Alfe - Пятница, 29 Апреля 2016, 23:17
VitelchДата: Пятница, 29 Апреля 2016, 23:20 | Сообщение # 7
был не раз
Сейчас нет на сайте
Вот такое выдает
Assets/Scripts/Attack.cs(11,37): error CS1525: Unexpected symbol `(', expecting `identifier'
Я так понял, он ожидал идентификатор вместо какой-то скобки.


Сообщение отредактировал Vitelch - Пятница, 29 Апреля 2016, 23:21
AlfeДата: Пятница, 29 Апреля 2016, 23:26 | Сообщение # 8
старожил
Сейчас нет на сайте
Vitelch, хм. Вроде всё так как должно быть. Вообщем одним словом попробуйте получить компонент Animation и назвать его animation.

Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin
VitelchДата: Суббота, 30 Апреля 2016, 00:05 | Сообщение # 9
был не раз
Сейчас нет на сайте
Пошаманил немного, во общем осталась одна ошибка
Assets/Scripts/A_attackPl1.cs(2,7): error CS0246: The type or namespace name `Unity' could not be found. Are you missing a using directive or an assembly reference?
ZekkinДата: Суббота, 30 Апреля 2016, 00:12 | Сообщение # 10
частый гость
Сейчас нет на сайте
Вот точно работающий, сам делал:



Но сделан под синхронизацию анимации в мультиплеере. Если нужно под соло игрока - тоже не проблема разобраться, думаю.

P.s. Не забудьте netview повесить на объект, если будете в первозданном виде юзать.


Сообщение отредактировал Zekkin - Суббота, 30 Апреля 2016, 00:14
VitelchДата: Суббота, 30 Апреля 2016, 14:12 | Сообщение # 11
был не раз
Сейчас нет на сайте
Спасибо, сейчас попробую отредактировать этот код

Добавлено (30 апреля 2016, 13:31)
---------------------------------------------
Zekkin, во общем такой скрипт я навоял, опираясь на ваш,


но все-равно выдает ошибку
The type or namespace name `Unity' could not be found. Are you missing a using directive or an assembly reference?

Добавлено (30 апреля 2016, 14:12)
---------------------------------------------
Ребят, решил заняться пока скриптом для бота, писал по туториалу, но все-равно выдает ошибку
The type or namespace name `Unity' could not be found. Are you missing a using directive or an assembly reference?
Пробовал в полностью чистом проекте. Как исправить эту ошибку?

SkorpyXДата: Суббота, 30 Апреля 2016, 15:01 | Сообщение # 12
участник
Сейчас нет на сайте
Не
Код
using Unity.Engine
, а
Код
using UnityEngine


Сообщение отредактировал SkorpyX - Суббота, 30 Апреля 2016, 15:01
VitelchДата: Понедельник, 02 Мая 2016, 18:43 | Сообщение # 13
был не раз
Сейчас нет на сайте
SkorpyX, я свечку за тебя в храме поставлю

Добавлено (02 мая 2016, 18:33)
---------------------------------------------
Помогите еще разок, пожалуйста. Нужно сделать так, чтобы когда бот приближался к игроку, он вращался с заданной скоростью. Заранее спасибо.

Добавлено (02 мая 2016, 18:43)
---------------------------------------------
Вот скрипт
  • Страница 1 из 1
  • 1
Поиск:

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