zoukankan      html  css  js  c++  java
  • Flash向量1点和向量

    基础。向量从哪儿来?

    如果您曾经试着开发过一些游戏,那么很可能你已经尝试过放置和移动舞台上的MovieClip。那么您肯定知道每个影片剪辑有2个坐标:x和y。因此,可以这样来定义舞台上的每一个点:

    view source

    print?

    1.p={x:10, y:5};

    非常好,仅仅用这一行代码,我们就声明并且创建了一个对象“p”,而且,我们还赋予了它2个属性,“x”和“y”。现在你就可以根据需要,随时访问它的属性,如:

    view source

    print?

    1.p.x

    2.p.y

    之后,就会得到,点对象p的x属性为10,y属性为5。然后,你就可以构建一个MovieClip,并把MovieClip放置到这个坐标。当然,您不一定要构建并放置MovieClip,即便没有MovieClip,所有的数学逻辑仍然可以正常工作,我们只是用MovieClip来说明问题罢了。不过,通常在真正的游戏中,还是得有点东西在舞台上移动的,否则会是一个编码非常好,但玩起来很沉闷的游戏。

    一定要注意:Flash使用的Y坐标方向是反的,在大多数人的宇宙观里面,Y坐标的正方向是抬头向上,但Flash偏偏喜欢低头向下:)

    之前,我们已经创建了1个点对象,我们可以看到它可以在舞台上。现在,是时候做点有难度的东西了,我们创建2个点对象:

    view source

    print?

    1.p0={x:10, y:5};

    2.p1={x:12, y:6};

    或许你还没有发现,其实你已经构建了你的第一个向量。不要觉得不好意思哦,对于任何人来说,他们都可能在不知不觉中构建了向量。向量,正如你所看到的,可以用2个点来构建。点p0称为起点,点p1称为终点。正如我们所感知的一样,向量是有方向的,向量p0->p1和向量p1->p0是不一样的,它们很相似,他们有同样的长度和同样的点,但是它们的方向相反。这样,一个形式比较良好的向量声明方式就光荣诞生了:

    view source

    print?

    1.v={

    2.p0:{x:10, y:5},

    3.p1:{x:12, y:6}

    4.};

    我们可以用图来表示这个向量和它的点:
    向量和它的点

    现在,你可能在想:“这太容易了”,你也可能在想:“这咖啡的口味很奇怪哦”,但我们还没有结束呢。矢量也可以用起点和方向分量来表示。也许你会想:“等等,终点呢,不要把它忘了哦~”,放心,我们待会儿会需要它的。那么现在,不用终点,我们如何来声明向量呢?

    view source

    print?

    1.v={

    2.p0:{x:10, y:5},

    3.vx:2,

    4.vy:1

    5.};

    看起来有点眼熟吧,他的确和我们先前构建的向量是一摸一样的。起点相同,x方向的分量是2,y方向的分量是1。他的意义是:“从点(10,5)出发,向右走2步,向下走1步”,不要不相信哦,他结束的位置就是p1。事实上,向量的终点,可以根据它的起点和x,y方向的分量计算得出:

    view source

    print?

    1.v.p1={};

    2.v.p1.x=v.p0.x+v.vx;

    3.v.p1.y=v.p0.y+v.vy;

    如果你用的起点和终点的形式来表示向量,也可以这样来计算出x方向和y方向的分量:

    view source

    print?

    1.v.vx=v.p1.x-v.p0.x;

    2.v.vy=v.p1.y-v.p0.y;

    从现在开始,每当谈及向量,我们就会想到它有2个点p0和p1,每个点都有x,y坐标,而向量有x,y分量。

    如果你用起点和向量来表示物体的移动,这时候,向量就被赋予了不同的称谓,常见的有:“速率”,“速度”,“运动”,“位移”。不要让这些名字给迷惑了,他们只不过是在x,y方向上移动物体而已。

  • 相关阅读:
    面试题
    网络编程-1
    excel文件导入数据库--jxl包
    excel文件导入数据库
    1113 Integer Set Partition (25 分)集合分割
    1120 Friend Numbers (20 分)set的使用
    1099 Build A Binary Search Tree (30 分)
    1092 To Buy or Not to Buy (字符串删除)
    1127 ZigZagging on a Tree (30 分)树的层次遍历
    1155 Heap Paths (30 分)判断是否是一个堆
  • 原文地址:https://www.cnblogs.com/happysky97/p/1882102.html
Copyright © 2011-2022 走看看