快速业务通道

关于制作Flash翻书效果的研究

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10

  这个项目的概念是使来到我站点的人有机会用FlashMX设计一本虚拟的书,就象一本真正的书那样,不过它是摆在你的计算机桌面上的。你可以一页一页地阅读。  

  注意,这个课程是面向那些对ActionScript有所了解以及知道如何在FlashMX中编码的人。如果你只知道如何创建一个球并让它在桌面上滚动,那么请过几个月再来吧。  

  只是开玩笑啦。基本上在这个课程里只有很少的技术。在这个教程中的所有函数是经常使用的。编码非常容易,你需要知道的只是一些基本的三角知识,比如sine(正弦)、cosec(余弦)、hypotenuse(直角三角形的斜边)。这些对于这个教程来说就足够了。所以,放轻松,好好享受吧。

  这是一个正在进行的项目。  

  如果你有任何问题,请给我e-mail。  

  让我们开始吧。  

  第一部分  

  ——基本计算函数(basic calculation functions)  

  在这个根脚本(root script)里,我们有两个基本计算函数。你可以把它们直接拷贝到你的舞台(stage)上,因为我们将会一遍遍用到它们。一个是getDist,另一个是getAngle。它们对你来说很简单,是吧?老实说,我都没兴趣解释这样的东西,这些是高中数学课上该学的。  

  第一个函数是获得两点之间的距离。我们需要知道这两点之间的坐标。  

  // Get the distance between two points. (得到两点之间的距离)

  function getDist(px1, py1, px2, py2){

  x = px2 - px1;

  y = py2 - py1;  

  hyp = Math.sqrt(Math.pow(x,2) + Math.pow(y,2));  

  return hyp;

  }  

  
请添加描述


  好了,现在你进展已经不错。我们可以试一下更难点的。——怎么获得两点之间的角度。  

  // Get the angle between two points. (得到两点之间的角度)

  function getAngle(px1, py1, px2, py2){

  x = px2 - px1;

  y = py2 - py1;

  hyp = Math.sqrt(Math.pow(x,2) + Math.pow(y,2));  

  cos = x / hyp;

  rad = Math.acos(cos);

  // Ask your math teacher if you don’t understand this one.(如果你看不懂,就去问你的数学老师)
  deg = 180/(Math.PI / rad);

  // Yes, we do got one angle, rad, by ''Math.acos(cos)'', but in radians.(是的,我们通过cos得到了一个角度“rad”,不过是以弧度为单位的)  

  // Therefore, we need do one more step to transfer it to normal angle we need.(因此,我们需要再进一步把它转换成我们所需要的标准的角度)  

  if(y <0){deg = -deg;}

  else if((y == 0) && (x <0)){deg = 180;}  

  return deg;

  }
  
请添加描述


  我不需要做更多解释了吧?

  第二部分  

  ——舞台(stage)上基本的Movie Clips  

  在库(library)中创建4个方块符号(symbol)。它们是你书中的不同的页面。如果你喜欢,你可以根据需要重新设计。我只需要提醒你一件事,就是,把参考点放在每个symbol的左下角,我们需要用它们来找到页面的位置。

  
请添加描述


  在这个演示例子里,假定我们的书只有4页。如果你想让你的书页数更多,那就请自己加一些新的check situation函数。要确保页面的大小与书本相符。  

  把它们拖到你的舞台上,确保它们在不同的层面。  

  按照这个顺序:第4页,第1页,第2页,第3页。  

  第3页应该在最上面一层。  

  确保将这些movie clip如下图所示放置。

  
请添加描述


  第3页的具体位置没什么要紧,因为我们将会把它做动态调整。  

  2、创建一个符号(symbol)圆,并切割下来(cut)。我们需要在移动鼠标的时候用它来检查不同的位置。

  
请添加描述


  3、创建一个包含一个点的symbol,你可

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号