摘要: 布朗运动:01varnumDots:uint=50; 02varfriction:Number=0.9; 03vardots:Array; 04varlife:uint=0; 0506functioninit(){ 07graphics.lineStyle(0,0xffffff,.5); 08dots=newArray(); 09for(vari:uint=0;i<numDots;i++){... 阅读全文
posted @ 2010-11-22 18:23 模西的哥哥 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 先回顾一下Silvelright中的矩阵变换[转]WPF中的MatrixTransform,简单点讲:矩阵变换能改变对象的x,y坐标,x或y方向上的缩放,以及对象在x,y轴上的旋转(扭曲变形)上面这个是WPF/Silverlight中的3*3变换矩阵,其中X,Y用于改变对象的坐标;M11,M22用于对象在x,y轴上的缩放;而M12,M21用于y轴,x轴上的扭曲。As3.0中的Matix类跟这个类似... 阅读全文
posted @ 2010-11-22 18:21 模西的哥哥 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Animation in ActionScript3.0 这本书总算快学完了,今天继续:上一回Flash/Flex学习笔记(50):3D线条与填充里,我们知道任何一个3D多面体上的某一个面,都可以分解为多个三角形的组合。比立方体为例,每个面都由二个三角形组成,但在那一篇的示例中明显有一个问题:不管立方体的某一个面是不是应该被人眼看见(比如转到背面的部分,应该是看不见的),这一面都被绘制出来了。在这... 阅读全文
posted @ 2010-11-22 18:19 模西的哥哥 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 先看最终效果:整个swf最终不到4k,如果用系统的组件List来做的话,最终尺寸会接近30k ! (当然,核心代码是从网上收集到的:))大致原理:把要显示的对象上面加一层遮罩,然后根据滚动条的位置,上下移动显示对象。源文件:http://cid-2959920b8267aaca.skydrive.live.com/self.aspx/Flash/miniScrollBar.rar 阅读全文
posted @ 2010-11-22 18:13 模西的哥哥 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 先来看客户端fla的构成:第一帧:登录界面第一帧的代码:show sourceview sourceprint?01import flash.events.MouseEvent; 02import com.adobe.utils.StringUtil; 03import utils.Alert; 0405stop(); 0607var userName:String=""; 0809Alert.i... 阅读全文
posted @ 2010-11-22 18:11 模西的哥哥 阅读(327) 评论(0) 推荐(0) 编辑
摘要: TweenLite是第三方出品的专用于各种缓动动画的类库,其性能据说已经超过了Adobe官方的Tween.从网上找到了一篇中文的说明文档:http://files.cnblogs.com/yjmyzz/tweenLite%e4%b8%ad%e6%96%87%e6%89%8b%e5%86%8c%e4%b8%8e%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e.pdf这是官方的... 阅读全文
posted @ 2010-11-22 18:07 模西的哥哥 阅读(575) 评论(0) 推荐(0) 编辑
摘要: Flash/Flex学习笔记(49):3D基础 里已经介绍了3D透视的基本原理,不过如果每次都要利用象该文中那样写一堆代码,估计很多人不喜欢,事实上AS3的DisplayObject类已经内置了z坐标、rotationX、rotationY、rotationZ属性,再加上PerspectiveProjection类用于处理透视转换,基本上可以满足大多数的3D要求。001 import flash.... 阅读全文
posted @ 2010-11-22 17:49 模西的哥哥 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 3D线条:把上一篇中的3D坐标旋转示例稍做修改,用线把各个小球连接起来即可。 show sourceview source print? 001 var balls:Array; 002 var numBalls:uint=30; 003 004 var fl:Number=250; 005 var vpx:Number=stage.stageWidth/2; 006 var vpy:Num... 阅读全文
posted @ 2010-11-22 17:47 模西的哥哥 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 之前我们所做的动画都是基于x,y二维坐标轴的,在三维动画中我们还需要增加一个垂直于屏幕“向里”或“向外”的Z轴,那么z轴到底是应该向外,还是向里呢?这个其实无所谓,不过为了统一,习惯上通常把z轴约定为向里,即所谓的“右手坐标系” 右手坐标系的得名:伸出右手,让食指、中指、大拇指相互垂直;然后 食指指向x轴正向,中指指向y轴正向,则大拇指所指方向即为z轴正向。(事实上这个姿势酷似周杰伦周董的招牌动作... 阅读全文
posted @ 2010-11-22 17:44 模西的哥哥 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 先要复习一下三角函数与余弦定理: 对于直角三角形,三边长a,b,c与三个角A,B,C的关系如下: 正弦函数: 余弦函数: 正切函数: 反正切函数:(好象现在的教科书里改叫“余切”函数)   或 勾股定律: 但对于不是直角的三角形,就必须用余弦定律来处理了: 利用余弦定理也可以处理反向运动学中的伸展: 上面这个是示意图(花了我近一天时间才弄明白,汗,高中的数学知识全还给老师了) 说明... 阅读全文
posted @ 2010-11-22 17:40 模西的哥哥 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 先回顾上篇所说的"正向运动学":以人行走的例子来说,基本上可以理解为大腿驱动小腿,小腿驱动脚,从而引发的一系列姿态调整和运动。再举一个例子,我们用着拿一根软鞭或链条的一端挥舞,被手挥舞的这一端会把"能量"向另一端传递(即固定端驱动紧接的部分,而紧接的部分又驱动下一段紧接的部分),从而使整个系统也随之运动. 而"反向运动学"正好相反,举个... 阅读全文
posted @ 2010-11-22 17:39 模西的哥哥 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 所谓"正向运动学"通俗点讲就是把几个连接部件的一端固定起来,另一个端可以自由(向前/向外)运动。比如人的行走,单个下肢可以理解为脚连接小腿,小腿连接大腿,大腿连接腰。行走的过程,相当于二条腿相对固定于腰部,大腿运动驱动小腿,小腿又驱动脚,从而带动整个连接系统的一系列运动。 先来一个基本的关节类Segment:(就是一个圆角矩形+二个小圆圈) show sourceview ... 阅读全文
posted @ 2010-11-22 17:36 模西的哥哥 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 源文件:http://cid-2959920b8267aaca.skydrive.live.com/self.aspx/Flash/LoadingMC.rar 阅读全文
posted @ 2010-11-22 17:34 模西的哥哥 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 万有引用公式: 其中G为万有引力常数 show sourceview source print? 001 var numParticles:uint=50;//粒子总数 002 var G:Number=0.03;//万有引力常数 003 var particles:Array=new Array(numParticles); 004 var bounce:Number=-0.4;//边界反... 阅读全文
posted @ 2010-11-22 17:27 模西的哥哥 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 动能公式: 动量公式: 动量守恒: 能量守恒: 根据这些规律可以得到下列方程组: 解该方程组,得到下面的公式: 把这二个公式相减,可以得到: 即: 我们也经常利用这个公式简化运算 基本的动量守恒演示: 先给ball类添加一个质量"属性" show sourceview source print? 01 package { 02 import flash.disp... 阅读全文
posted @ 2010-11-22 17:26 模西的哥哥 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 坐标旋转是个啥概念呢? 如上图,(蓝色)小球 绕某一中心点旋转a角度后,到达(红色)小球的位置,则红色小球相对中心点的坐标为: x1 = dx * cos(a) - dy * sin(a) y1 = dy * cos(a) + dx * sin(a) 这个就是坐标旋转公式,如果要反向旋转,则公式要修正一下,有二种方法: 1.将a变成-a,即: x1 = dx * cos(-a) - dy ... 阅读全文
posted @ 2010-11-22 17:24 模西的哥哥 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 碰撞检测基本上可能分为二类:对象与对象的碰撞检测、对象与点的碰撞检测 为了方便测试,先写一个box类(生成一个小矩形) show sourceview source print? 01 package { 02 03 import flash.display.Sprite; 04 05 public class Box extends Sprite { 06 07 private var ... 阅读全文
posted @ 2010-11-22 17:23 模西的哥哥 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 上一篇里演示的弹性运动加上摩擦力因素后,物体最终基本上都会比较准确的停在目标位置。但是我们回想一下现实世界中的弹簧,如果把弹簧的一头固定起来(即相当于目标点),而另一端栓一个球,把球拉开或压缩一定距离然后松手,事实上小球永远也不可能到达弹簧固定的那一端(因为弹簧即使压缩到最紧,也总有一定的长度) 所以如果要在Flash里模拟现实中的弹簧,真正的目标点绝不是弹簧的端点,而是目标点再偏移一段距离(即... 阅读全文
posted @ 2010-11-22 17:21 模西的哥哥 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 动画中的弹性运动 从视觉效果上接近 物理经典力学中的单摆运动或弹簧(胡克定律F=Kx)振动 先看下面的模拟演示: 规律: 小球先从出发点(初始为最左侧)向目标点(中心点)加速狂奔,奔的过程中速度越来越大,但加速度越来越小,等经过目标点时,发现速度太大刹不住车(此时速度达到最大值,但加速度减为0),奔过头了!于是加速度发生逆转,从0开始变为负值,从而导致速度越来越小,等速度减到0时,也奔到了最右... 阅读全文
posted @ 2010-11-22 17:20 模西的哥哥 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 缓动 与 匀变速 看上去很类似,但其实有区别: 匀变速的公式为 V = V0 + at --速度v与时间t是线性(正比)关系,而且这种运动不需要确定目标点,速度可以按照这种规律一直变下去 而缓动指的是物体越接近目标时速度越慢,速度跟距离成反比关系,用公式描述为 V = k S  (0<k<1),这种运动需要先确定一个目标点,比如车辆定点停车:先指定一个位置,然后汽车从远处... 阅读全文
posted @ 2010-11-22 17:19 模西的哥哥 阅读(341) 评论(0) 推荐(0) 编辑