Flashden Premium Flash Template

沈乐邦
2023-12-01

1. 我发现如果在把一个mc加入它的父mcP之前,就设定mc.mask为mcP上面的一个mcM,
那么就不需要考虑mc被添加之后的depth的问题,可能是系统会自动来处理这个问题。

2. 为什么在有的时候,会使用addedToStage这个事件来触动一些mc上面的初始化代码的运行。

3. 当mc跳入另一个关键帧的时候,它上面的子mc会都重新被实例化。

4. 一个mc的mouseClick事件是被逐层向上传递的,可以handle多次,可以首先在它上面处理,然后又在它的父mcP上面处理。比如:

在main_mc上面有mainMenu_mc,在mainMenu_mc上面有个container_mc,container_mc上面有若干个mainMenuItem_mc。

main_mc ——> mainMenu_mc ——> container_mc ——> mainMenuItem_mc1
                                                                               ——> mainMenuItem_mc2
                                                                               ——> mainMenuItem_mc3
                                                                              .......

在mainMenu_mc的初始化代码里面给它自己的mouseDown事件注册一个listener:onMouseDown,在onMouseDown里面,
将参数e.target转换类型为mainMenuItem,并进行处理。
然后在main_mc代码上面给mainMenu_mc注册一个mouseDown事件的listener:onMainDown,在onMainDown里面,
也将e.target转换类型为mainMenuItem,并进行处理。

这个做法里面,如果mainMenuItem有子MC的话,需要设定它的属性mouseChildren为false,
否则将不能够将e.target转换类型为mainMenuItem,因为会收到子mc的事件,

5. 对于set方法的利用,很多动画效果的代码是放在set方法里面的,这样,当改变某些属性值的时候,相应的缓动效果就自然被加了进去,
比如contentHolder的_content属性,和mainMenuItem的_select属性。
另外还有mainMenuItem的get content方法,这个方法里有生成一个相应的内容对象,根据type属性。


6. 通过加mask,来控制一张图的大小。

7. 通过使用SingletonEnforcer类来强制一些静态类,这样可以保证该类的对象能够持久存在,并被其他类的对象共享。
比如ConfigManager与PhotoStage类。
  
	public class ConfigManager extends EventDispatcher {

                private static var _configManager:ConfigManager;
		
		public function ConfigManager(singletonEnforcer:SingletonEnforcer) 
                {			
			// NOTHING HERE
		}	

                public static function getInstance():ConfigManager 
                {
			
			if (_configManager == null) 
                        {
				_configManager = new ConfigManager(new SingletonEnforcer());
			}
			
			return _configManager;
			
		}

        }


package net.flashden.lydian.photogallery {

	class SingletonEnforcer {}
	
}

 

 类似资料:

相关阅读

相关文章

相关问答