Flash AS3 加载图片居中的问题,请AS高手解答。
我用的是FlashCS4默认脚本AS3我的想法如下:点击mc加载图片pic1到影片剪辑pic中,图片居中。但是由于图片的注册点是在图片的左上角,所以我加载的图片的注册点是...
我用的是Flash CS4 默认脚本AS3
我的想法如下:
点击mc加载图片pic1到影片剪辑pic中,
图片居中。
但是由于图片的注册点是在图片的左上角,
所以我加载的图片的注册点是居中的也就是说只有左上角居中,
但是图片整体是偏右下的,
于是我想将图片的注册点的位置更改到舞台的一半减去图片的一半不就居中了吗,
但是图片动都没有动,
还是偏右下,
请问各位高手应该怎么解决这个问题,
小弟在这里给各位作揖了。
代码如下:(为了不让各位看着费劲,小弟加上了注解。)
mc.addEventListener(MouseEvent.CLICK, clickHandler);//鼠标监听
function clickHandler(event:MouseEvent):void {
var url:String="pic/pic1.jpg";
var loader:Loader = new Loader();
var request:URLRequest=new URLRequest(url);
loader.load(request);
pic.addChild(loader);//加载图片到pic
loader.x=this.stage.stageWidth/2-loader.width/2;
loader.y=this.stage.stageHeight/2-loader.height/2;//关键就在这怎么也不居中,将loader改成什么都没有用,无论是loader还是pic,删除减号后的语句效果也是一样。
}
PS:AS2 的代码就不用了(因为用不了),好意小弟心领了。
先给20分,如果成功了在追加。
我之前的提问怎么没有了?? 展开
我的想法如下:
点击mc加载图片pic1到影片剪辑pic中,
图片居中。
但是由于图片的注册点是在图片的左上角,
所以我加载的图片的注册点是居中的也就是说只有左上角居中,
但是图片整体是偏右下的,
于是我想将图片的注册点的位置更改到舞台的一半减去图片的一半不就居中了吗,
但是图片动都没有动,
还是偏右下,
请问各位高手应该怎么解决这个问题,
小弟在这里给各位作揖了。
代码如下:(为了不让各位看着费劲,小弟加上了注解。)
mc.addEventListener(MouseEvent.CLICK, clickHandler);//鼠标监听
function clickHandler(event:MouseEvent):void {
var url:String="pic/pic1.jpg";
var loader:Loader = new Loader();
var request:URLRequest=new URLRequest(url);
loader.load(request);
pic.addChild(loader);//加载图片到pic
loader.x=this.stage.stageWidth/2-loader.width/2;
loader.y=this.stage.stageHeight/2-loader.height/2;//关键就在这怎么也不居中,将loader改成什么都没有用,无论是loader还是pic,删除减号后的语句效果也是一样。
}
PS:AS2 的代码就不用了(因为用不了),好意小弟心领了。
先给20分,如果成功了在追加。
我之前的提问怎么没有了?? 展开
展开全部
你设置居中的时候,图片还没加载上来... 你试一下trace(loader.width,loader.height);
//
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
/**
* @author Chin
*/
[SWF(width="400", height="400", backgroundColor="#000000")]
public class Test extends Sprite{
private var loader:Loader;
public function Test(){
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
clickHandler();
}
private function clickHandler():void {
var url:String="http://192.168.1.39/MEDIA/pic/000.jpg";
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
var request:URLRequest=new URLRequest(url);
loader.load(request);
}
private function initHandler(event:Event):void {
trace("initHandler: " + event);
this.addChild(loader);
loader.x=this.stage.stageWidth/2-loader.width/2;
loader.y=this.stage.stageHeight/2-loader.height/2;
}
}
}
//
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
/**
* @author Chin
*/
[SWF(width="400", height="400", backgroundColor="#000000")]
public class Test extends Sprite{
private var loader:Loader;
public function Test(){
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
clickHandler();
}
private function clickHandler():void {
var url:String="http://192.168.1.39/MEDIA/pic/000.jpg";
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
var request:URLRequest=new URLRequest(url);
loader.load(request);
}
private function initHandler(event:Event):void {
trace("initHandler: " + event);
this.addChild(loader);
loader.x=this.stage.stageWidth/2-loader.width/2;
loader.y=this.stage.stageHeight/2-loader.height/2;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询