PDA

Просмотр полной версии : Удаление MovieClip


Дим
14.12.2015, 12:56
Сделал на кнопку выезжающее окно с текстом, но вот удалить его не получается.

package {
import flash.display.Sprite;
import flash.events.MouseEvent;


public class Main extends Sprite{

private var Показ_помощь:окно_помощи;
public function Main() {
Кнопка_помощь.addEventListener(MouseEvent.CLICK,помощь);
}

public function помощь(event:MouseEvent)
{
var Показ_помощь:окно_помощи = new окно_помощи();//окно_помощи - мувик
addChild(Показ_помощь);
trace ("Показали окно_помощи");

Кнопка_закрыть.x = 240;
Кнопка_закрыть.y = -100;
Показ_помощь.текст_помощи.addChild(Кнопка_закрыть);
trace ("Прикрепили кнопку закрыть");
Кнопка_закрыть.addEventListener(MouseEvent.CLICK,Действ_закрыть);//слушатель

}

public function Действ_закрыть(event:MouseEvent)
{
trace ("Нажали кнопку закрыть");
var Показ_помощь:окно_помощи = new окно_помощи();//окно_помощи - мувик
//addChild(Показ_помощь);
if(contains(Показ_помощь)) removeChild(Показ_помощь) else trace ("Нету");//Для уточнения есть ли объект в списке
}
}
}

caseyryan
15.12.2015, 09:47
Просто ужас)) Аля 1С, да и то не по конвенциям. Никогда! никогда не используйте кириллицу в названии свойств или вообще где-то в коде. Исключеним могут быть только строки. Она хоть формально и поддерживается, но крайне не рекомендуется. Как минимум потому, что вряд ли кто-то захочет читать этот г-код и помогать вам

По теме, окно не удаляется, потому что вот здесь
var Показ_помощь:окно_помощи = new окно_помощи();//окно_помощи - мувик
Создается новый экземпляр, который не имеет ничего общего с тем, что уже добавлено. Естественно этот новый экземпляр нигде не содержится, и удалять его неоткуда. Директива new всегда создает новый экземпляр (c) кэп

Дим
15.12.2015, 12:17
Чем так русский язык не угодил

undefined
15.12.2015, 16:27
а что это идея, сделать локализацию ас3 типа:

public class Спрайт extends Sprite{
public function добавитьРебенка(дите:ЭкранныйОбъект):ЭкранныйОбъект {
return (super.addChild(дите as DisplayObject) as ЭкранныйОбъект);
}
...
}

и т.д. :)

neonoviiwolf
16.12.2015, 02:05
А что, можно кириллицей имена давать?

illuzor
16.12.2015, 05:41
А что, можно кириллицей имена давать?
Это ещё что... Я однажды видел имена переменных на китайском.

caseyryan
16.12.2015, 07:06
Чем так русский язык не угодил

Не русский язык, а кириллица в коде. Одно дело когда весь ЯП основан на ней, как в 1С, совсем другое, когда язык основан на английском, а названия свойств пишут на русском. Мало того, есть определенные конвенции написания кода. Для каждого языка они свои, и as3 не исключение. Хотите, чтобы вам помогали, нужно строго их соблюдать. А если пишите исключительно для себя, не обращаясь ни к кому с вопросами и никому не предоставляя свой код - пожалуйста, хоть на китайском

Это ещё что... Я однажды видел имена переменных на китайском.
Я тоже это видел :D Так сказать, нативная обфускация ))

Дим
16.12.2015, 12:12
Спасибо что не ударили...

Tails
16.12.2015, 12:50
Была как-то тема на форуме, давно, по поводу установки имени переменным на кириллице, в целях обфускаций. Якобы с кириллицей, промежуточный код получался совсем не декомпилируемым.