Flash 是否有一个“问题”;什么时候;与if/else if等相反的编程?
我的意思是,在AS3中,或者在一般编程(php、js等)中,有没有一种方法可以使事件“在”某事发生时触发/激活,而不是使用if/else if/else语句 例如,假设我只想在点击帧标签时触发/激活一个事件,然后再做其他事情等,基本上是让它根据达到特定目标的时间一个接一个地做事情。是否有一个“何时”类型的语句等,它将与if/else if etc相反 例如,使用上述示例,而不是我这样做:Flash 是否有一个“问题”;什么时候;与if/else if等相反的编程?,flash,actionscript-3,Flash,Actionscript 3,我的意思是,在AS3中,或者在一般编程(php、js等)中,有没有一种方法可以使事件“在”某事发生时触发/激活,而不是使用if/else if/else语句 例如,假设我只想在点击帧标签时触发/激活一个事件,然后再做其他事情等,基本上是让它根据达到特定目标的时间一个接一个地做事情。是否有一个“何时”类型的语句等,它将与if/else if etc相反 例如,使用上述示例,而不是我这样做: Code: xyz.addEventListener(Event.ENTER_FRAME / or INIT
Code:
xyz.addEventListener(Event.ENTER_FRAME / or INIT , btn);
function btn(e:Event):void{
if ( externalSwf.currentFrameLabel == " label here "){
do something code here.
}
}
Code:
xyz.addEventListener(Event.ENTER_FRAME / or INIT , btn);
function btn(e:Event):void{
when ( externalSwf.currentFrameLabel == " label here "){
do this.
when (this happens){
do this next
}
}
}
有没有办法做到这一点:
Code:
xyz.addEventListener(Event.ENTER_FRAME / or INIT , btn);
function btn(e:Event):void{
if ( externalSwf.currentFrameLabel == " label here "){
do something code here.
}
}
Code:
xyz.addEventListener(Event.ENTER_FRAME / or INIT , btn);
function btn(e:Event):void{
when ( externalSwf.currentFrameLabel == " label here "){
do this.
when (this happens){
do this next
}
}
}
等等
如何才能做到这一点
我问这个问题的原因是因为我有一个正在进行的小项目(外部主权财富基金代码的平滑转换),这个项目在一定程度上是可行的,但我不能在我的一生中,找出如何实现像我上面所说的结构
基本上我说的是,我不需要我需要的条件句。。确定…如果有道理的话,哈哈
希望它不会让人困惑
任何提示、想法等,我都非常感谢
谢谢。如果您想在对某个对象(例如
示例
扩展事件调度器
)的某些属性(例如属性
)进行赋值时执行某项操作,则应在属性
的集合中抛出事件。因此,我建议如下
class Example1 extends Example {
public static var eventName = "event_name";
//var prop is declared in Example class
public function setProp(val: string) {
prop = val;
if (prop == "some_value") {
dispatchEvent(new flah.events.Event(eventName));
}
}
public function init() {
addEventListener(eventName, handler);
}
private function handler(e: Event) {
//do whatever you like here
}
}
好吧,我想你不同意我的想法。希望这对你有帮助 您要查找的内容已由事件完成。例如,将要渲染新帧时触发事件。然后,您可以检查该框架是否具有特定标签 对于帧标签示例,可以创建一个自定义侦听器,该侦听器仅在需要的帧上激发。在这种情况下,
when
块将是一个回调函数
frameLabelEventDispatcher.addEventListener("label here", whenLabel);
function whenLabel() { /* do something */ }
听起来你需要保存一些关于事件进展的状态。(状态转换将由EventHandler触发)。我看不出正常的
if
和您的when
关键字之间有什么区别。你能举一个例子说明它的不同之处吗?我想他希望在的时候表现得像:“返回控制流,但一旦满足这个新条件,就回到这里来”。