Использование библиотечных классов снова смущает меня.
У меня следующая ситуация:
package com.op_pad.pages
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
/**
* ...
* @author Martino Wullems
*/
public class Page extends MovieClip
{
public var currentPage:String = ""; //help page label
public var testvar:int = 0;
var helpPage:HelpPage;
public function Page(PAGENAME:String = null):void {
//tweening etc
addEventListener(Event.ADDED_TO_STAGE, onStage);
trace("currentPage: " + currentPage);
trace("testvar: " + testvar);
}
private function onStage(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, onStage);
trace("on stgae called");
try { terug.addEventListener(MouseEvent.CLICK, goback, false, null, true) } catch (e) { };
try{homebutton.addEventListener(MouseEvent.CLICK, goHome, false, 0, true)}catch (e) { };
try { stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false, 0, true) } catch (e) { trace("back button fail"); };
try { help.addEventListener(MouseEvent.CLICK, showHelpPage, false, 0, true) } catch (e) { trace("help not found") };
}
public function addListeners():void {
//try{terug.addEventListener(MouseEvent.CLICK, goback, false, null, true)}catch(e){};
//try{homebutton.addEventListener(MouseEvent.CLICK, goHome, false, 0, true)}catch (e) { };
//try{stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false, 0, true)}catch (e) {trace("back button fail"); };
}
public function goback(e:MouseEvent):void
{
try { MovieClip(parent).loading = false } catch (e) { trace("loading boolean not existent");}
MovieClip(parent).removeChild(this);
}
private function goHome(e:MouseEvent):void
{
try { MovieClip(parent).loading = false } catch (e) { trace("loading boolean not existent");}
MovieClip(parent).removeChild(this);
}
private function showHelpPage(e:MouseEvent):void
{
helpPage = new HelpPage();
addChild(helpPage);
helpPage.gotoAndStop(currentPage);
trace("help page called, currentPage: " + currentPage);
}
private function onKeyDown(e:KeyboardEvent):void
{
//when keyboard back is pressed
if (e.keyCode == Keyboard.BACK) {
e.preventDefault();
e.stopImmediatePropagation();
goback(null);
}
}
}
}
Небрежный код, все еще нуждается в очистке.
Дочерний класс, который наследует класс Page
package
{
import com.op_pad.pages.Page;
/**
* ...
* @author Martino Wullems
*/
public class FavorietenPage extends Page
{
public function FavorietenPage():void
{
trace("favorietenpage called");
super();
currentPage = "favorieten";
}
}
}
«FavorietenPage» - это также элемент библиотеки, который я хочу добавить на сцену. Я пробовал несколько установок, но не могу заставить его работать.
Самым логичным для меня кажется следующее [свойства элемента библиотеки]:
Класс: com.op_pad.pages.FavorietenPage
BaseClass: com.op_pad.pages.Page;
Я не могу вставить ни один базовый класс при использовании класса, поэтому я вынужден удалить базовый класс.
При использовании только класса я получаю целую кучу ошибок, которые вообще не имеют никакого смысла, и все равно появляются, даже если я закомментирую весь код в классе Page.
com\op_pad\pages\FavorietenPage.as:7: 1152: A conflict exists with inherited definition com.op_pad.pages:Page.help in namespace public.
com\op_pad\pages\FavorietenPage.as:12: 1152: A conflict exists with inherited definition com.op_pad.pages:Page.terug in namespace public.
com\op_pad\pages\FavorietenPage.as:21: 1152: A conflict exists with inherited definition com.op_pad.pages:Page.home in namespace public.
Это не имеет никакого смысла для меня вообще.
Есть идеи, как использовать эту ситуацию? Заранее спасибо