Развитие игровой вспышки
Текущее время: Чт сен 20, 2018 9:33 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 84 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9  След.
Автор Сообщение
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Чт фев 08, 2018 3:56 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Вс дек 19, 2010 5:31 pm
Сообщений: 4987
Откуда: Пока не знаю
Сайт: http://gamespoweredby.com/blog/
dm62 писал(а):
В as3 можно было написать

Код:
var test1:SomeType1;
var test2:SomeType2;
*********
if (test1 == test2)
{
// do domthing
}
else
{
// do domthing
}


Что-то я не помню, чтоб такая штука в AS3 работала :pardon: Ты сравниваешь воду и дерево и у тебя никогда не будет ==
Либо же кастуй к классу. Если кастоваться будет - тогда сравнивай.

Твоя задача не так должна работать вообще. Такой подход как у тебя используют обычно с одним типом классов. Лучше на свой класс отдельный объект вешай листенер и его потом снимай.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Чт фев 08, 2018 4:28 pm 
Не в сети

Зарегистрирован: Вт янв 29, 2013 4:52 pm
Сообщений: 211
dm62 писал(а):
Ты сравниваешь воду и дерево и у тебя никогда не будет ==

Я знаю, смысл в том что этот код в AS3 не вызовет ошибку. А в haxe будет exeption.

Вот что я имел ввиду:
Код:
sprite.addEventListener(Event.OnAddedToStage,onAddedToStage, true);

function onAddedToStage(E:Event):void
{
if (e.currentTarget != sprite)
{
// so somthing
}
}


В as3 это прокатит, а в haxe будет
Error #1034: Type Coercion failed: cannot convert flash.display::Stage@a9ac041 to flash.display.Sprite.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Чт фев 08, 2018 4:38 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Вс дек 19, 2010 5:31 pm
Сообщений: 4987
Откуда: Пока не знаю
Сайт: http://gamespoweredby.com/blog/
Ты фреймворк пишешь для верстальщиков, которые на хаксе пишут? Просто напиши где-то им, что не надо сравнивать два разных типа


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Чт фев 08, 2018 10:27 pm 
В сети

Зарегистрирован: Чт июл 01, 2010 2:39 pm
Сообщений: 1305
Кастуй


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Чт фев 08, 2018 11:12 pm 
Не в сети

Зарегистрирован: Вт янв 29, 2013 4:52 pm
Сообщений: 211
abyss писал(а):

stage в sprite? Как это поможет?
Мне нужно узнать являются ли две переменные одним и тем же объектом или нет.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Пт фев 09, 2018 12:21 am 
В сети

Зарегистрирован: Чт июл 01, 2010 2:39 pm
Сообщений: 1305
Код:
if (cast(e.currentTarget) != sprite)


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Пт фев 09, 2018 1:07 am 
Не в сети

Зарегистрирован: Вт янв 29, 2013 4:52 pm
Сообщений: 211
abyss писал(а):
Код:
if (cast(e.currentTarget) != sprite)



Error #1034: Type Coercion failed: cannot convert flash.display::Stage@ad8c041 to flash.display.Sprite.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Сб фев 10, 2018 1:00 am 
В сети

Зарегистрирован: Чт июл 01, 2010 2:39 pm
Сообщений: 1305
dm62 писал(а):
abyss писал(а):
Код:
if (cast(e.currentTarget) != sprite)



Error #1034: Type Coercion failed: cannot convert flash.display::Stage@ad8c041 to flash.display.Sprite.

Код:
if(Std.is(e.currentTarget, Sprite))
{
if (cast(e.currentTarget) != sprite)
}

Кстати, почему currentTarget?


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Пн фев 12, 2018 2:43 am 
Не в сети

Зарегистрирован: Ср дек 06, 2017 9:18 pm
Сообщений: 2
Если код таргетится в as3, то возножно сделать такое сравнение если одна из переменных является Dynamic.
https://try.haxe.org/#91C99

class Test {
static function main() {
var t1:Type1 = new Type1();
var t2:Type2 = new Type2();

var t1Dynamic:Dynamic = t1;
var t2Dynamic:Dynamic = t2;

trace(t1 == t2Dynamic);
trace(t1Dynamic == t2);
trace(t1Dynamic == t2Dynamic);
}
}

class Type1 {
public function new() {}
}

class Type2 {
public function new() {}
}

В других случаях компилятор будет пытаться преобразовать один тип в другой, и если рассматривать ваш пример у него это не получится.

p.s. Лучше не использовать unsafe cast.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Вопрос - Ответ
СообщениеДобавлено: Ср фев 28, 2018 1:47 pm 
Не в сети

Зарегистрирован: Вт янв 29, 2013 4:52 pm
Сообщений: 211
Использую openfl и класс openfl.utils.ByteArray.
Возникла необходимость шифрования byteArray.
Нашел библиотеку haxe-crypto , но там свой com.hurlant.util.ByteArray

Как заставить работать openfl.utils.ByteArray с этой библиотекой ?


Вернуться наверх
 Профиль Отправить e-mail  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 84 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB