- UID
- 516887
- 在线时间
- 小时
- 积分
- 430
- 帖子
- 离线
- 18649 天
- 注册时间
- 2009-9-22
|
RT,前段时间由于在找工作,所以很久没继续碰这东西了,上回被讨厌版主说道了一下(请相信,我绝对不怨恨,甚至很感激),仔细的研究了有关resize的用法。
我现在的代码效果是,当按键被触发,开始载入时,利用loader.contentLoaderInfo.width和loader.contentLoaderInfo.height来设置居中,这一点完美的实现了。
然后为了自适应分辨率,我在最后侦听了resize,根据分辨率与我场景的比例来缩小loader本身,再利用loader.width和loader.height来完成居中。这一点也完美的实现了。
现在的问题在于,当我分辨率发生改变时,loader已经成功居中,这个时候我再触发其他按键,导入进来的loader就不居中了,而是在左上对齐,并且输出面板提示错误- TypeError: Error #1009: 无法访问空对象引用的属性或方法。
- at script4/::rePosition()
复制代码
请斑竹再进来“骂”我一下,谢谢- -
或者各位达人有空的话,也可以指导下,谢谢。最后提前祝大家元宵快乐。。。!!
对了。。。忘记代码了。。。代码如下
- stop();
- stage.align = StageAlign.TOP_LEFT;
- stage.scaleMode = StageScaleMode.NO_SCALE;
- var logo:Loader = new Loader();
- var request:URLRequest = new URLRequest("companylogo.swf");
- logo.load(request);
- logo.contentLoaderInfo.addEventListener(Event.COMPLETE,wancheng);
- function wancheng(e:Event):void {
- addEventListener(Event.ENTER_FRAME,jinru);
- var n:Number = logo.contentLoaderInfo.height * 0.5;
- function jinru(e:Event):void {
- logo.x = (stage.stageWidth - logo.contentLoaderInfo.width) * 0.5;
- about.x = logo.x + 100 ;
- news.x = about.x + 200;
- products.x = news.x +200;
- contact.x = products.x +200;
- about.y = news.y = products.y = contact.y = stage.stageHeight - 20;
- }
- addChild(logo);
- var loader:Loader = new Loader();
- var main:URLRequest = new URLRequest("about.swf");
- //var main:URLRequest = new URLRequest("news.swf");
- var main3:URLRequest = new URLRequest("products.swf");
- var main4:URLRequest = new URLRequest("contact.swf");
- about.addEventListener(MouseEvent.CLICK,aboutclick);
- //news.addEventListener(MouseEvent.CLICK,newsclick);
- products.addEventListener(MouseEvent.CLICK,productsclick);
- contact.addEventListener(MouseEvent.CLICK,contactclick);
- stage.addEventListener(Event.RESIZE,Resize);
- function aboutclick(e:MouseEvent):void {
- loader.load(main);
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,kk);
- function kk(e:Event):void {
- loader.x = (stage.stageWidth - loader.contentLoaderInfo.width) * 0.5;
- loader.y = (stage.stageHeight - loader.contentLoaderInfo.height) * 0.5;
- addChild(loader);
- about.removeEventListener(MouseEvent.CLICK,aboutclick);
- //news.addEventListener(MouseEvent.CLICK,newsclick);
- products.addEventListener(MouseEvent.CLICK,productsclick);
- contact.addEventListener(MouseEvent.CLICK,contactclick);
- }
- }
- /*function newsclick(e:MouseEvent):void {loader.load(main);
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,kk);
- function kk(e:Event):void {
- loader.x = (stage.stageWidth -loader.contentLoaderInfo.width) * 0.5;
- loader.y = (stage.stageHeight + n - loader.contentLoaderInfo.height) * 0.5;
- addChild(loader);
- }
- }*/
- function productsclick(e:MouseEvent):void {
- loader.load(main3);
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,kk);
- function kk(e:Event):void {
- loader.x = 0;
- loader.y = (stage.stageHeight - loader.contentLoaderInfo.height) * 0.5 -n;
- addChild(loader);
- //news.addEventListener(MouseEvent.CLICK,newsclick);
- products.removeEventListener(MouseEvent.CLICK,productsclick);
- about.addEventListener(MouseEvent.CLICK,aboutclick);
- contact.addEventListener(MouseEvent.CLICK,contactclick);
- }
- }
- function contactclick(e:MouseEvent):void {
- loader.load(main4);
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,kk);
- function kk(e:Event):void {
- loader.x = (stage.stageWidth - loader.contentLoaderInfo.width) * 0.5;
- loader.y = (stage.stageHeight - loader.contentLoaderInfo.height) * 0.5;
- addChild(loader);
- //news.addEventListener(MouseEvent.CLICK,newsclick);
- products.addEventListener(MouseEvent.CLICK,productsclick);
- about.addEventListener(MouseEvent.CLICK,aboutclick);
- contact.removeEventListener(MouseEvent.CLICK,contactclick);
- }
- }
- function Resize(e:Event = null):void {
- loader.scaleX = loader.scaleY = 0.8;
- loader.x = (stage.stageWidth - loader.width) * 0.5;
- loader.y = (stage.stageHeight - loader.height) * 0.5;
- }
- products.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
- }
复制代码
[[i] 本帖最后由 tenzn 于 2010-2-27 13:41 编辑 ] |
|