菩提树下的杨过 http://yjmyzz.cnblogs.com/
暂时未有相关通用技术能力~
阿里云技能认证
详细说明先回顾上篇所说的"正向运动学":以人行走的例子来说,基本上可以理解为大腿驱动小腿,小腿驱动脚,从而引发的一系列姿态调整和运动。再举一个例子,我们用着拿一根软鞭或链条的一端挥舞,被手挥舞的这一端会把"能量"向另一端传递(即固定端驱动紧接的部分,而紧接的部分又驱动下一段紧接的部分),从而使整个系统也随之运动.
所谓"正向运动学"通俗点讲就是把几个连接部件的一端固定起来,另一个端可以自由(向前/向外)运动。比如人的行走,单个下肢可以理解为脚连接小腿,小腿连接大腿,大腿连接腰。行走的过程,相当于二条腿相对固定于腰部,大腿运动驱动小腿,小腿又驱动脚,从而带动整个连接系统的一系列运动。
NND,明天就是世博,上海政府都发公文倡议企业五一休息5天,我们公司居然只放3天,真无语,搞得大家今天都没心情工作。 下雨天打孩子,闲着也是闲着,把以前看到同事做的一个小Loading模拟了一下: 源文件:http://cid-2959920b8267aaca.
万有引用公式: 其中G为万有引力常数 var numParticles:uint=50;//粒子总数 var G:Number=0.03;//万有引力常数 var particles:Array=new Array(numParticles); var bounce:Number=-0.
动能公式: 动量公式: 动量守恒: 能量守恒: 根据这些规律可以得到下列方程组: 解该方程组,得到下面的公式: 把这二个公式相减,可以得到: 即: 我们也经常利用这个公式简化运算 基本的动量守恒演示: 先给ball类添加一个质量"属性" package { import flash.
坐标旋转是个啥概念呢? 如上图,(蓝色)小球 绕某一中心点旋转a角度后,到达(红色)小球的位置,则红色小球相对中心点的坐标为: x1 = dx * cos(a) - dy * sin(a) y1 = dy * cos(a) + dx * sin(a) 这个就是坐标旋转公式,如果要反向旋转,则公式要修正一下,有二种方法: 1.
碰撞检测基本上可能分为二类:对象与对象的碰撞检测、对象与点的碰撞检测 为了方便测试,先写一个box类(生成一个小矩形) package { import flash.display.Sprite; public class Box extends Sprite { ...
上一篇里演示的弹性运动加上摩擦力因素后,物体最终基本上都会比较准确的停在目标位置。但是我们回想一下现实世界中的弹簧,如果把弹簧的一头固定起来(即相当于目标点),而另一端栓一个球,把球拉开或压缩一定距离然后松手,事实上小球永远也不可能到达弹簧固定的那一端(因为弹簧即使压缩到最紧,也总有一定的长度) ...
动画中的弹性运动 从视觉效果上接近 物理经典力学中的单摆运动或弹簧(胡克定律F=Kx)振动 先看下面的模拟演示: 规律:小球先从出发点(初始为最左侧)向目标点(中心点)加速狂奔,奔的过程中速度越来越大,但加速度越来越小,等经过目标点时,发现速度太大刹不住车(此时速度达到最大值,...
缓动 与 匀变速 看上去很类似,但其实有区别: 匀变速的公式为 V = V0 + at --速度v与时间t是线性(正比)关系,而且这种运动不需要确定目标点,速度可以按照这种规律一直变下去 而缓动指的是物体越接近目标时速度越慢,速度跟距离成反比关系,用公式描述为 V = k S (0
以前为了赶项目,利用系统组件制作过一款视频播放器(见Flash/Flex学习笔记(6):制作基于xml数据源的flv视频播放器),但是系统组件实在是太大了,最终生成的swf居然有103K,随着AS3的深入学习,昨天又弄了一个只用AS3的播放器,最终只有8.82K,呵呵,这肥减得那是相当厉害。
先看最终的演示: 滑块条的应用实在太广泛了:mp3播放器中声量的大小控制,视频播放时的画面亮度调节,阅读新闻时字体大小的实时调整,对象的大小互动控制... 分析: 1.任何一个滑块条控件的UI部分,基本上可以分为:背景滑块条 + 滑块按钮 二个部分 所以我分成了三部分: J...
如果想在一个自定义类中注册对stage对象的监听事件,然后在另一个文档类中使用该类的实例(或在fla的时间轴上使用该类的实例),你会很郁闷的发现:在构造函数中始终无法引用到this.stage(用trace(this.
类似C#中自定义事件需要一个自定义的EventArgs子类一样,AS3也需要开发者自定义一个Event类的子类,这里我们假设一种场景:设计一个Person(人物)类,里面有Age(年龄),Name(姓名),我们希望每当Person类的实例Age(年纪)发生变化时,能触发一些自定义事件,从而调用某些特定的处理方法。
AS3历经若干年的成长,已经完全进化为一门面向对象的(动态)语言,但很多介绍AS3的书籍上往往只注意了AS3语言本身,而淡化了如何跟Flash IDE协同开发。 1.如何在Flash时间轴代码上创建一个外部as文件中定义的MovieClip实例? 假设外部有一个MyClip.
题外话:个别朋友总是问我同样的问题,做为一名c#/silverlight程序员为啥还要学flash ? 回 答:看日本片时,就不能对照看欧美的么? 不体会日本的细腻,又怎能感觉到欧美的粗放;同样都是web相关的技术,不必报门户之见;何况这二者有很多可以相互借鉴的东西。
对象拖拽: 这其实就是以前所学知识:Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) + Flash/Flex学习笔记(23):运动学原理 的综合运用,要提一下的是下面代码中对于EnterFrame的添加与移除操作 package { import flash.
自从VS2010 RC出来以后,就顺便把机器重做了,重装的时候特意没安装VS2008,全线过渡到VS2010和.net4.0,但今天有一小WAP项目,才意识到VS2010貌似不支持WAP窗体,按照记忆参考以前VS2008的做法(见:wap开发体会),下载模板后,一时眼花即没找到新建Mobile We...
对于从Sprite类继承来的对象,要实现拖放当然是Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) 里讲的方法最方便,但是对于不是从Sprite类继承得来的对象,这startDrag/stopDrag是不能用的,这时候只能采用最通常用做法:利用Mouse_Dow...
在开发过程中,经常会遇到要从一个界面跳到另一个界面的情况,比如:软件中的窗口跳转,web开发中的页面跳转...但在Flash的世界里:只有帧,没有窗口与页面,所以控制时间轴/帧之间的跳转,就成为这一需求最常见的解决办法 btn1.
虽然label组件很好用,但是达人们都好象不太喜欢用组件(用组件后最明显的问题:会使swf文件增大好多),所以我也慢慢开始习惯能不用组件则尽量不用 import flash.events.Event; import flash.
在一些实时视频或视频分享应用中,需要动态显示麦克风的音量大小,或者检测视频是不是正在播放,这里演示一种简单的音量指示器1.先写一个指示器类 其实就是一个根据百分比来填充的矩形 package { import flash.
直接上代码吧,关键地方都加上注释了: var cm:ContextMenu=new ContextMenu(); cm.hideBuiltInItems();//隐藏系统内置的菜单 //创建菜单项(构造函数参数含义:标题名字,前面是否增加分割线,是否可用,是否可见) var menuIt...
摩擦力: 假如一个物体在某个方向上沿直线运行,摩擦力会使该方向上的速度越来越小,直到停止。 上图示意了该过程,物体以moveAngle角度正向运动,最终的速度speed矢量为vx矢量与vy矢量的矢量和,在每个单位时间内的位移即Speed矢量的大小,分解到x,y轴后,即为vx与vy;加入摩擦力后,speed矢量每单位时间将减少Friction值,也就是视觉上的越来越慢。
粒子爆炸: 仍然要用到以前的小球类,不过稍加改造 package { import flash.display.Sprite; //小球 类 public class Ball extends Sprite { public var radius:uint;//半径 ...
先写一个公用的小球类Ball: package{ import flash.display.Sprite; //小球 类 public class Ball extends Sprite{ private var radius:Number ;//半径 pri...
Silverlight中称之为“效果(Effect)”的东东,在Flash里叫“滤镜(Filter)",而且Flash里内置的滤镜要比Silverlight丰富很多,几乎所有对象都有一个filters的属性,它是一个数组,可以将一个或多个滤镜同时应用于某一对象,类似的,如果要去除已经应用的滤镜效果,...
transform是flash.Display.DisplayObject的属性之一,而colorTransform又是transform的属性,这也就意味着几乎所有对象都可以使用colorTransform属性 这是官方的解释: 当 ColorTransform 对象应用于显示对象时,将...
贝塞尔曲线的身影几乎在所有绘图软件中都有出现,下面的代码演示了如何用AS3.0画一段简单的贝塞尔曲线(没有使用Document文档类,想测试的朋友,直接把下面的代码复制贴到第一帧即可) import fl.
传统的RGB颜色体系中,每一个分量值的范围都是0到255,如果转换为2进制的话最多需要8位(比如:十进制的255变成二进制则为11111111),三个分量加起来,最多需要24位长度的uint来存储. 而通常我们在html中喜欢用16进制比如"#FF0000"来表示红色,即R:255,G:0,B:0...
这是日本roxik大师的作品(据说他的水平在日本还只能排到第二) 如果只是做出这些随机动作的小球,也许不算什么,但是让人称奇的是它的CPU占用率,居然不到5% 另外还有一些3D/物理引擎,也都很NB,完整演示网址见: http://temp.
Sprite有一个graphics可以用来绘制基本图形,比如我们要画下面这个图形: 对应的AS3代码为: package { import flash.display.Sprite; public class Arrow extends Sprite { public f...
先来看简单的单个按键捕获: package { import flash.display.Sprite; import fl.controls.Label; import flash.events.
特性(Attribute)是微软在.Net中自创的一种新技术,对于很多初学者来讲,特性一直是一块难啃的骨头。 既然弄不懂,那我们就暂时绕过它吧,回想一下我们在写代码时通常都要求写注释,为了是让别人或自己以后能看得懂,但是这个注释是写给“人”看的,突发奇想一下:我们能不能写出一种注释,给c#编译器看,比如我们在某些代码上打个标记,让编译器看到这些标记后,做出不同的反应? 其实.
先直接看代码吧: using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { B b = new B(); b.
Asp.Net中的Session要比Asp中的Session灵活和强大很多,同时也复杂很多;看到有一些Asp.Net开发人员报怨说Session不稳定,莫名其妙的丢失,其实这正是Asp.Net改进的地方之一. 我们知道Session与Cookie最大的区别在于:Cookie信息全部存放于客户端,Session则只是将一个ID存放在客户端做为与服务端验证的标记,而真正的数据都是放在服务端的内存之中的。
IIS在接到一个新的http请求后,最终会调用asp.net_isapi.dll的ISAPI扩展(特指IIS6.0环境,iis7.0的应用程序池默认为集成方式,相对有所变化),然后传递到httpRuntime Pipe(http运行时管道),Asp.
习惯于用某一种语言做开发,时间长了以后很多人可能会对其它语言有排斥或抵触,其实... 退一步海阔天空! 比如:经常看到有人问"如何用c# ping 网址?",园子里搜索了一下:[c#下实现ping操作]这篇算是总结得比较全面了,但其实.
这几天把一个旧项目中的fckeditor升级为ckeditor 3.2 + ckfinder 1.4.3 组合,下面是一些升级心得: 一、CKFinder的若干问题 1.单独使用ckfinder从原fckeditor分离出来以后可以单独使用,通常我习惯于在工具栏中添加ckfinder.
asp.net默认情况下,不允许提交包含html源代码的表单,这在很大程度上防止了跨站(提交)攻击,但是ckeditor/fckeditor之类的富文本编辑器肯定是要生成html源代码的,如何解决这个矛盾? 通常的办法是修改web.
1.aspnetupload 这是国人开发的一款收费.net控件,官网http://www.aspnetupload.net/ (不过也有一个免费版本的,允许上传10M内容,一般情况下也够了,收费版也不贵,大致就600 RMB) 它的大概原理是把文件分成一块一块的上传,然后客户端用ajax不断刷新从而显示进度条. 这也是我使用时间最长的一种解决方案,在IIS7出现以前完全没有任何问题,但IIS7及以上版本中,如果用了这个控件,应用程序池就只能运行在“经典”模式下,无法充分发挥IIS7的优点。
Silverlight/WPF中,如果要在多线程中对界面控件值做修改,用Dispatcher对象的BeginInvoke方法无疑是最方便的办法 ,见:温故而知新:WinForm/Silverlight多线程编程中如何更新UI控件的值 但今天发现WPF中的BeginInvoke却无法自动将匿名方法/...
转自新浪"烈·翼·焚·天"的博客,原文地址:http://blog.sina.com.cn/s/blog_4c459776010009c3.html~type=v5_one&label=rela_nextarticle 第二截,讲讲基于TCP协议的网络编程,与UDP不同的是,基于TCP协议的编程的服务器端有一个监听对象:TcpListener,它负责监听来自客户端的消息并处理,并且必须在保持连接的情况下与客户端保持互动,下面举个例子,TCP不怎么复杂,只是综合要求较高,如果想编出个象样的东西,对多线程,事件委托等等都需要有较高的认识,当然,还要对协议本身有深刻的理解。
状态检测主要包括二个方面:是否安装了摄像头,摄像头是否被其它程序占用 视频截图有二种方法:一是直接利用CaptureSource类的CaptureImageAsync异步截屏,另一种是直接利用WriteableBitmap截屏幕,二种截屏方法的区别在于,CaptureImageAsync始终截的是...
const FILE_PATH:String="main.swf"; const CLASS_NAME:String="MainSwf"; var loader:Loader; var request:URLRequest; loader = new Loader(); request=new URLRequest(FILE_PATH); loader.
FMS中的“远程共享对象”可以让多个Client端的flash应用共享同一个全局对象,并且当客户端中的任何一个改变该对象时,系统会自动将该对象回发到FMS服务器,同时FMS服务器也会将该对象重新广播到所有客户端。
关键点:知道如何画线就行了,代码不复杂,直接看吧(从同事一本书上抄的) var drawing:Boolean; Mouse.hide(); //隐藏默认的光标 stage.addEventListener(MouseEvent.
Flash中只有影片MovieClip(准确的讲是Sprite)可以调用startDrag,endDrag,创建对象拖动最简单的办法只要调用这二个方法即可 myobj.addEventListener(MouseEvent.
看了一周Flex/Flash的相关东东,发现总在与RTMP这个字眼打交道,今天终于下决心想深入了解这玩意儿,找到一篇不错的文章,转载与此,原文地址:http://blog.csdn.net/chenyanxu/archive/2009/09/02/4511087.aspx正文开始: RTMP 协议研究 1 协议研究概述 协议设计和分析一直都是在工作遇到,正好在这里总结一下,说到协议,在这个网络的时代,没有人可以离开它了。
Silverlight3中的scoket只支持tcp协议,而对于udp一直以安全原因拒绝支持,但在silverlight4中可以惊喜的发现 System.Net.Sockets下多出了二个类: UdpAnySourceMulticastClient,UdpSingleSourceMulticastClient 根据msdn官方的解释: http://msdn.