QuietKillah
Legacy Member
Ik heb een probleem met mijn code.
ik moet namelijk 2 keer klikken op mijn btnCat,btnDog of btnPerson
vooraleer de juiste feeds worden ingeladen (horoscoop) en vooraleer
de buttongrid eropkomt.
iemand enig idee hoe dit komt?
ziehier code:
ook heb ik dit al geprobeerd maar dan krijg ik zelf men buttongrid niet meer:
ik moet namelijk 2 keer klikken op mijn btnCat,btnDog of btnPerson
vooraleer de juiste feeds worden ingeladen (horoscoop) en vooraleer
de buttongrid eropkomt.
iemand enig idee hoe dit komt?
ziehier code:
Code:
package be.howest.mm3.horoscope
{
import be.howest.mm3.horoscope.HoroscopeVO;
import be.howest.mm3.loaders.SettingsLoader;
import be.howest.mm3.loaders.XMLLoader;
import be.howest.mm3.horoscope.HoroscopeButton;
import com.greensock.TweenLite;
import com.greensock.easing.*;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.sampler.NewObjectSample;
import flashx.textLayout.formats.BlockProgression;
import flash.text.TextField;
public class Horoscope extends MovieClip
{
private static const SETTINGS_URL:String = "assets/xml/settings.xml";
private var _settings:SettingsLoader;
private var horoscopeCollection:Array;
private var buttonGrid:Sprite;
private var xmlldr:XMLLoader = new XMLLoader;
private var block:Block = new Block;
public function Horoscope()
{
var xmlLdr:XMLLoader = new XMLLoader;
xmlLdr.addEventListener(XMLLoader.XML_LOADED, onLoaded);
xmlLdr.load(SETTINGS_URL);
loadSettings();
btnCat.addEventListener(MouseEvent.CLICK,onCat);
btnDog.addEventListener(MouseEvent.CLICK,onDog);
btnPerson.addEventListener(MouseEvent.CLICK,onPerson);
}
private function loadSettings():void{
_settings = SettingsLoader.getInstance();
_settings.addEventListener(XMLLoader.XML_LOADED, onLoadXML);
_settings.load(SETTINGS_URL);
}
private function onLoadXML(event:Event):void{
//trace(_settings.feed + " & " + _settings.imagepath);
xmlldr.addEventListener(XMLLoader.XML_LOADED, onLoaded);
//xmlldr.load(_settings.Person);
}
private function loadChoice(choice:String):void{
mvcSelected.txtSelected.text = "you have selected: " + choice.toString();
if (choice == "Dog"){
xmlldr.load(_settings.Dog);
//trace(_settings.Cat);
}
else if(choice == "Cat"){
xmlldr.load(_settings.Cat);
//trace(_settings.Dog);
}else if(choice == "Person")
{xmlldr.load(_settings.Person);
//trace(_settings.Person);
}
trace(choice);}
public function onLoaded(event:Event):void{
//trace(event.currentTarget.data);
horoscopeCollection = new Array();
var feed:XML = XML(event.currentTarget.data);
var itemList:XMLList = feed.channel..item;
for each(var xml:XML in itemList){
var ho:HoroscopeVO = new HoroscopeVO();
ho.title = xml.title;
ho.description = xml.description;
ho.pubDate = xml.pubDate;
ho.guid = xml.guid;
horoscopeCollection.push(ho);
}
//initview();
}
public function initview():void{
buttonGrid = new Sprite();
stage.addChild(buttonGrid);
buildGrid();
buttonGrid.addEventListener(MouseEvent.CLICK, onClick);
}
private function onClick(event:MouseEvent):void{
var item:HoroscopeButton = event.target as HoroscopeButton;
stage.addChild(block);
block.x = - block.width;
block.y = stage.height/2 - block.height/2;
TweenLite.to(block,1,{x:(stage.width)/2 - block.width, ease:Elastic.easeOut});
//block.y = stage.height/2 - block.height/2
//block.x = (stage.width - block.width)/2
block.btnClose.addEventListener(MouseEvent.CLICK, onClose);
block.Title.text = item.dataVO.title;
block.Horoscope.text = item.dataVO.description;
buttonGrid.removeEventListener(MouseEvent.CLICK, onClick);
btnCat.removeEventListener(MouseEvent.CLICK,onCat);
btnDog.removeEventListener(MouseEvent.CLICK,onDog);
btnPerson.removeEventListener(MouseEvent.CLICK,onPerson);
//trace(item.dataVO.title);
//trace(item.dataVO.description);
}
private function onClose(event:MouseEvent):void{
stage.removeChild(block);
buttonGrid.addEventListener(MouseEvent.CLICK, onClick);
btnCat.addEventListener(MouseEvent.CLICK,onCat);
btnDog.addEventListener(MouseEvent.CLICK,onDog);
btnPerson.addEventListener(MouseEvent.CLICK,onPerson);
}
function onCat(Event:MouseEvent):void{
loadChoice("Cat");
gotoAndStop(41);
initview();
}
function onDog(Event:MouseEvent):void{
loadChoice("Dog");
gotoAndStop(41);
initview();
}
function onPerson(Event:MouseEvent):void{
loadChoice("Person");
gotoAndStop(41);
initview();
}
private function buildGrid():void{
for( var i:int = 0; i<horoscopeCollection.length;i++){
var button:HoroscopeButton = new HoroscopeButton(horoscopeCollection[i]);
button.width = 70;
button.height = 70;
button.x= 160*(i%3)+80;
button.y= 160*int(i/3)+80;
buttonGrid.addChild(button);
}
}
}
}
ook heb ik dit al geprobeerd maar dan krijg ik zelf men buttongrid niet meer:
Code:
private function loadChoice(event:Event):void{
//mvcSelected.txtSelected.text = "you have selected: " + choice.toString();
var xmlldr:XMLLoader = new XMLLoader;
xmlldr.addEventListener(XMLLoader.XML_LOADED, onLoaded);
//trace(event.currentTarget.toString());
if (event.currentTarget.toString() == "[object Cat]"){
gotoAndStop(41);
trace("Cat");
xmlldr.load(_settings.Cat);
initview();
mvcSelected.txtSelected.text = "you have selected: Cat";
} else if (event.currentTarget.toString() == "[object Dog]"){
gotoAndStop(41);
trace("Dog");
xmlldr.load(_settings.Dog);
initview();
mvcSelected.txtSelected.text = "you have selected: Dog";
}else if (event.currentTarget.toString() == "[object Person]"){
gotoAndStop(41);
trace("Person");
xmlldr.load(_settings.Person);
initview();
mvcSelected.txtSelected.text = "you have selected: Person";
}
}


