Flashgamedev.ru | Разработка и Монетизация Флэш игр
http://flashgamedev.ru/

Вопрос - Ответ
http://flashgamedev.ru/viewtopic.php?f=23&t=12906
Страница 8 из 9

Автор:  TheRabbit [ Чт фев 08, 2018 3:56 pm ]
Заголовок сообщения:  Re: Вопрос - Ответ

dm62 писал(а):
В as3 можно было написать

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


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

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

Автор:  dm62 [ Чт фев 08, 2018 4:28 pm ]
Заголовок сообщения:  Re: Вопрос - Ответ

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.

Автор:  TheRabbit [ Чт фев 08, 2018 4:38 pm ]
Заголовок сообщения:  Re: Вопрос - Ответ

Ты фреймворк пишешь для верстальщиков, которые на хаксе пишут? Просто напиши где-то им, что не надо сравнивать два разных типа

Автор:  abyss [ Чт фев 08, 2018 10:27 pm ]
Заголовок сообщения:  Re: Вопрос - Ответ

Кастуй

Автор:  dm62 [ Чт фев 08, 2018 11:12 pm ]
Заголовок сообщения:  Re: Вопрос - Ответ

abyss писал(а):

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

Автор:  abyss [ Пт фев 09, 2018 12:21 am ]
Заголовок сообщения:  Re: Вопрос - Ответ

Код:
if (cast(e.currentTarget) != sprite)

Автор:  dm62 [ Пт фев 09, 2018 1:07 am ]
Заголовок сообщения:  Re: Вопрос - Ответ

abyss писал(а):
Код:
if (cast(e.currentTarget) != sprite)



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

Автор:  abyss [ Сб фев 10, 2018 1:00 am ]
Заголовок сообщения:  Re: Вопрос - Ответ

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?

Автор:  Diamond [ Пн фев 12, 2018 2:43 am ]
Заголовок сообщения:  Re: Вопрос - Ответ

Если код таргетится в 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.

Автор:  dm62 [ Ср фев 28, 2018 1:47 pm ]
Заголовок сообщения:  Re: Вопрос - Ответ

Использую openfl и класс openfl.utils.ByteArray.
Возникла необходимость шифрования byteArray.
Нашел библиотеку haxe-crypto , но там свой com.hurlant.util.ByteArray

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

Страница 8 из 9 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/