Эй, я посмотрел другие посты, но я все еще никуда не попал.
У меня есть 2 класса, один из которых Ticket_mc (), а другой - TicketPurchaserFSlider (). в TicketPurchaserFSlider () хранится число с именем ticketsSelected, которое содержит количество выбранных мной билетов. Теперь я хочу увеличить это число на единицу из класса Ticket_mc (). и как я настроил это, чтобы создать dispatchEvent (новое событие ("selectFromList")), а затем слушатель и функцию, подключенную к этому слушателю. Во всяком случае, это не работает. Вот мой код:
package com.spay.ticketpurchaser {
import com.spay.ticketpurchaser.TicketPurchaserFSlider;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.EventDispatcher;
public class Ticket_mc extends MovieClip{
public function Ticket_mc(){
addEventListener(MouseEvent.CLICK, clickTicket);
}
public function clickTicket(event:MouseEvent){
dispatchEvent(new Event("selectFromList"));
gotoAndStop(2);
}
}
}
.
package com.spay.ticketpurchaser{
import com.spay.ticketpurchaser.Ticket_mc;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.text.TextField;
public class TicketPurchaserFSlider extends MovieClip{
public var ticketsSelected:Number = 0;
private var ticket:Ticket_mc;
public function TicketPurchaserFSlider(){
ticket = new Ticket_mc();
ticket.addEventListener("selectFromList",addTicket , false,0,true);
}
private function addTicket(event:Event){
ticket.removeEventListener("selectFromList", addTicket);
ticketsSelected ++;
trace("it works");
}
}
}
Для пояснения вот сценарий
У меня есть класс ticketPurchaserFSlider, в котором хранятся мои выбранные заявки. У меня есть другие методы внутри класса TicketPurchaserFSlider, который увеличивает и уменьшает переменную ticketsSelected, и все это прекрасно работает, затем я использую класс документа для addChild (ticketPurchaser) и т. Д.
Затем мне понадобились билеты, и эти билеты также должны были быть активными, а также увеличивать и уменьшать переменную ticketsSelected в классе ticketPurchaserFSlider. Для отображения билетов я сначала создаю Ticket_mc и экспортирую для actionsctript. Затем я создал пустой MovieClip и дал ему класс Ticket_Group, этот класс содержит массив, который создал 6 экземпляров билетов. Затем я создал еще один пустой мувиклип, создал еще один класс и назвал его Ticket_Batch. Он также содержит массив и создает больше экземпляров билетов (кратных 6). Количество создаваемых билетов хранится в классе ticketPurchaserFSlider и называется maxTickets. Я получаю доступ к этому номеру, используя экземпляр ticketPurchaserFSlider и используя. синтаксис (ticketPurchaser.maxTickets) Затем я использую экземпляр класса Ticket_Batch в классе Document для добавления addChild (tickets), поэтому у меня отображаются все мои заявки из класса документа.
теперь я не уверен, что это был лучший способ отобразить билеты, но для меня это было логично, и билеты будут выбираться и выбираться однократно, кратно 6 (с помощью отдельной кнопки), и в обоих случаях мне нужно чтобы иметь возможность получить доступ к выбранным билетам в классе ticketPurchaserFSlider.
Хорошо срабатывает из функции clickTicket.
Я надеюсь, что это прояснилось. Если вы думаете, что мне нужен лучший способ организовать мои занятия, тогда скажите об этом.
Я разместил файлы здесь: www.samuelpay.com/BingoClient.zip, так что посмотрите, если хотите, тоже.