flash特效原理:螺旋效果
很早之前尝试过3D效果也曾创建过这样的效果,现在使用CS4自身的能力去创建这种效果。在学习这种效果的时候,个人依旧强调效果背后的数学和物理原理,这些工具为我们创建效果带来帮助。
Flash cs3 到cs4过渡,改造了DisplayObject类,引人z轴和旋转等概念后,做3D的效果带来很多帮助。过去要采用引擎或者通过其他计算方式创建3D一些常见的效果,现在使用flash自身的能力也能够完成一些效果,不过相比目前流行引擎flash cs4自身的3D能力还是有缺陷,但是创建一些简单3d效果,flash cs4还是能够应付到。
今天,尝试创建一种像螺旋楼梯的效果,什么?螺旋楼梯,那不是建筑学上的?怎样和flash 联系了?对,没错,现在我们就借助建筑学的螺旋楼梯的一些原理来创建这种螺旋效果。
1. 基本原理
从图中可以看出,螺旋楼梯围绕一个圆柱体旋转而来,从俯视图看起来,圆柱体底是一个圆,没错你看得没错,它正是一个圆。你应该为看到这个圆而高兴,因为它是你熟悉的事物,接下来是否会联系接下来要做什么?三角函数?对,就是三角函数,又是转换数学的问题 通过三角函数能够确定圆上每一个点的坐标,前提是提供半径和角度。
假设圆的半径为R,那么每一个点的位置通过三角函数就能确定下来了。
X=cosA*R;
y=sinA *R;
从剖面图可以看出每一个点的分布状态。可以进行对比
数学上的左右手坐标系
有了这个公式后,我们可以遵循使用这种规律来设计这个螺旋效果。
首先创建一个Main.as 文件,同样我们需要准备一张图片,导入flash cs4里面进行库的链接 给个名称为photo。
这一张图片就相当于一个螺旋点
如var image:photo=new photo();
通过简单的代码演示
package
{
import flash.display.MovieClip;
import flash.events.*;
import flash.geom.PerspectiveProjection;
public class Main extends MovieClip
{
private var num:int=50;//一共有多少个螺旋点
private var numOfRotations:int=3;//圈数
private var anglePer:Number = ((Math.PI*2) *numOfRotations) / num;
private var R:int=400;//半径
private var h:int=0;//高度
private var contain:MovieClip=new MovieClip();//容器
private var list:Array=new Array();
public function Main()
{
init();
creat3D();
}
private f
相关文档:
function getFlashVer() {//获得flashplayer的版本 google
var f="",n=navigator;
if (n.plugins && n.plugins.length) {
for (var ii=0;ii<n.plugins.length;ii++) {
if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
f=n.plu ......
做了一个弹出窗口,点击后发现它和flash重合的部分,被flash盖住了,查了一下解决方法:
原代码如下:
<object classid='clsid:D27CDB6E-AE6D-11CF-96B8-444553540000' id='obj6' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' border='0' width='266' height='1 ......
随着Flash型单片机的普及,单片机加密的技术已经有了较大的变化。下面本文将以Motorola的HCS12系列单片机为例,介绍一种典型的加、解密机制,并着重讨论使用密码加解密的方法以及相应的用户接口程序设计思路。
厂商利用单片机进行产品开发时,都会关心其代码和数据的保密性。考虑到用户在编写和调试代码时所付出的时 ......
import flash.display.MovieClip;
import flash.geom.Rectangle;
import fl.controls.UIScrollBar;
import fl.controls.ScrollBarDirection;
import fl.events.ScrollEvent;
var container:MovieClip=new MovieClip();
//container.addChild(create_mc());
//container.addChild(create_mc());
addChild(container) ......