9RIA-沐枫 发表于 2018-2-6 21:05:41

【9RIA—沐枫】—【基础小知识】第26节(本地坐标与全局坐标的转换)

转载:9RIA游戏开发者社区(天地会)
作者:沐枫(原天地会大神)


【基础小知识】系列教程(总目录)——沐枫大神出品


3个类文件
package
{
import flash.display.Sprite;
import flash.geom.Point;

import others.Ball;
import others.Rect;

public class Main extends Sprite
{
public function Main()
{
var rect:Rect=new Rect(150,120);//传入宽高
stage.addChild(rect);
rect.x=100;
rect.y=150;//相对于舞台的全局坐标
var ball:Ball=new Ball(30);//传入半径
rect.addChild(ball);
ball.x=0;
ball.y=0;//相对于矩形的本地坐标
// _____________________转换为全局坐标
var p:Point=new Point(ball.x,ball.y);//把本地坐标传进去
var p2:Point=rect.localToGlobal(p);//转换为全局坐标
trace(p2.x,p2.y);//100,150
// ____________________转换为本地坐标
var p3:Point=rect.globalToLocal(p2);//传入全局坐标
trace(p3.x,p3.y);//0,0
}
}
}

package others
{
import flash.display.Shape;
import flash.display.Sprite;

public class Rect extends Sprite
{
public function Rect(w:Number,h:Number)
{
var sp:Shape=new Shape();
addChild(sp);
sp.graphics.beginFill(0xff0000,1);
sp.graphics.drawRect(0,0,w,h);
sp.graphics.endFill();
}
}
}

package others
{
import flash.display.Shape;
import flash.display.Sprite;

public class Ball extends Sprite
{
public function Ball(r:Number)
{
var sp:Shape=new Shape();
addChild(sp);
sp.graphics.beginFill(0x00ff00,0.5);
sp.graphics.drawCircle(0,0,r);
sp.graphics.endFill();
}
}
}


下载:

页: [1]
查看完整版本: 【9RIA—沐枫】—【基础小知识】第26节(本地坐标与全局坐标的转换)

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)