Unreal Engine 4
http://uengine.ru/forum/

Ссылка не совпадает к другой ссылке
http://uengine.ru/forum/viewtopic.php?f=22&t=4487
Страница 1 из 1

Автор:  TheFreeLom [ 08 фев 2017, 18:55 ]
Заголовок сообщения:  Ссылка не совпадает к другой ссылке

Нужно провести линию от 'Weapon до Target', но он выдает ошибку. Я знаю что ссылка 'getweapon' должна быть не 'Equipable Item', а 'Weapon'. Уже неделю мучаюсь, никак не могу понять в чем проблема. Если знаете как исправить то обязательно скажите
Изображение
Блупринт Weapon'а.
Изображение

Автор:  Yurik17 [ 08 фев 2017, 21:29 ]
Заголовок сообщения: 

А weapon является наследником item?

Автор:  TheFreeLom [ 08 фев 2017, 21:47 ]
Заголовок сообщения:  Re:

Yurik17 писал(а):
А weapon является наследником item?

Да, является наследником 'Equipable Item'

Автор:  Yurik17 [ 09 фев 2017, 00:01 ]
Заголовок сообщения: 

А если попытаться из самого weapon вытянуть нужную функцию? Или она не отображается при этом?

Автор:  Tartilla [ 09 фев 2017, 08:07 ]
Заголовок сообщения: 

Потому что нужно делать приведение типов.
CastTo. Как же ты вытянешь метод из родительского класса, если его там нет?
То, как ты все сделал - попытка привести дочерний класс к родительскому - естественно ты не сможешь вызвать нужный тебе метод.
Кури ООП прежде чем браться за программирование, потеряешь месяца два, зато потом нагонишь. А если на такой примитивной задачке по неделе тратить, то столетиями будешь делать простенький инвентарь...

Автор:  TheFreeLom [ 09 фев 2017, 14:11 ]
Заголовок сообщения:  Re:

Tartilla писал(а):
Потому что нужно делать приведение типов.
CastTo. Как же ты вытянешь метод из родительского класса, если его там нет?
То, как ты все сделал - попытка привести дочерний класс к родительскому - естественно ты не сможешь вызвать нужный тебе метод.
Кури ООП прежде чем браться за программирование, потеряешь месяца два, зато потом нагонишь. А если на такой примитивной задачке по неделе тратить, то столетиями будешь делать простенький инвентарь...


За совет отдельно спасибо, но я щас не об этом. Решил сделать не через IsValid, а через cast и вроде все работает)

Автор:  Andy_rst [ 09 фев 2017, 14:27 ]
Заголовок сообщения: 

Valid это проверка на наличие объекта по указателю. Это не приведение (Cast) типа.

Автор:  Vladimir488 [ 09 фев 2017, 15:40 ]
Заголовок сообщения: 

8)

Автор:  Tartilla [ 09 фев 2017, 16:27 ]
Заголовок сообщения: 

CastTo дает на выходе ссылку на инстанс определенного класса или null, поэтому на валидность нужно тоже проверять в противном случае обращение к методу несуществующего инстанса не выдаст ошибку. Анриал в таком случае просто может вылететь без уведомления, замучаешься потом в логе искать причину.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/