#actionscript-3 #flash #actionscript
#actionscript-3 #flash #actionscript
Вопрос:
Flash имеет функцию, в которой вы можете поменять символ с другим символом из библиотеки. Можно ли это сделать в коде Actionscript без использования bitmap или чего-то подобного? Для моего проекта я хочу, чтобы нижняя половина персонажа исчезала, когда он входит в воду, вместе с изменением точки регистрации.
Комментарии:
1. Я не знаю, можете ли вы поменять местами символы, но почему бы просто не удалить один отображаемый объект и заменить его другим? Это должно быть довольно просто. Что-то вроде
landChar.parent.addChild(waterChar)
, а затемlandChar.parent.removeChild(landChar)
2. Я не часто использую дочернюю функцию, можете ли вы объяснить, как я это сделаю? Куда бы я поместил waterChar? Должен ли я поместить его в свою библиотеку?
3.
waterChar
иlandChar
являются просто переменными, которые ссылаются на экземпляры класса. Они могут быть созданы либо в среде IDE, либо во время выполнения. Если в IDE, то это имена ссылок, я думаю (я не много работаю в IDE)4. Если это видеоролик, вы также можете просто перейти к кадру 2 и сделать кадр 2 символом в воде
Ответ №1:
Имеет ли вода альфа-прозрачность? если это так, вы могли бы сделать наложение позади воды, но перед символом, чтобы вы не могли видеть его нижнюю половину, когда его опускают в воду, если не просто поместить символ на слой под водой, что касается изменения точки регистрации, это немного сложнее, поскольку это было быэто означает, что вам нужно переместить видеоролик в другой видеоролик (скажем, у вас была графика для персонажа, и она была внутри контейнера movieclip с его регистрацией в заголовке символов), вам нужно будет использовать
container.character.y = 55;
например, чтобы сдвинуть точку регистрации на главном символе, имея в виду, что вам нужно будет убедиться, что и контейнеру, и персонажу присвоены имена экземпляров.
РЕДАКТИРОВАТЬ Что касается вашего другого вопроса, можно ли менять местами символы, ответ — да, установив для символа вашего персонажа имя экземпляра и экспортировав его в первом кадре, вы можете вызывать его и выводить через Actionscript через:
container.addChild(character);
Или:
container.removeChild(character);
Это позволит вам удалить или добавить другие символы по этой ссылке для получения более подробной информации.
Комментарии:
1. Да, я думаю, что передний план был бы проще всего, но я попытаюсь использовать дочерний элемент, потому что это будет меньше кода