ActionScript学习笔记(三)——三角学应用(旋转、波形,圆椭圆、勾股定理)
2013-09-28 00:28
260 查看
一门语言的数据类型,流程控制,函数,面向对象,核心API这些都是次要的,因为接触一门语言这些都要接触到,但是前面三者大同小异的,所以就算法而言才是正儿八经的王道,所以这次就好好总结一下一些动画的算法。先从三角学应用开始。
三角函数不用提了,对于高中复习两年的我现在都还记得很清楚的,你让我重新推导一遍都没什么大问题。原来总结了一部分但是由于代码原来那个博客发上来太麻烦了。并且还有很多好玩的没有总结完呢,尤其是那个椭圆运动仿照万有引力的那种。既然是动画总得在帧事件当中吧,不多提咯。
0、角度弧度转化
弧度(radians) = 角度(degrees) * Math.PI / 180;
角度(degrees) = 弧度(radians) * 180 / Math.PI;
1、旋转
例子:围着鼠标旋转
2、平滑的上下运动(也就是正弦或余弦运动)
3、心跳运动(忽大忽小)
4、双角波形(没有规律的乱飞)
5、绘制波形
6、圆
7、椭圆
8、勾股定理(两点间距离)
三角函数不用提了,对于高中复习两年的我现在都还记得很清楚的,你让我重新推导一遍都没什么大问题。原来总结了一部分但是由于代码原来那个博客发上来太麻烦了。并且还有很多好玩的没有总结完呢,尤其是那个椭圆运动仿照万有引力的那种。既然是动画总得在帧事件当中吧,不多提咯。
0、角度弧度转化
弧度(radians) = 角度(degrees) * Math.PI / 180;
角度(degrees) = 弧度(radians) * 180 / Math.PI;
1、旋转
例子:围着鼠标旋转
var dx:Number = mouseX - sprite.x; var dy:Number = mouseY - sprite.y; var radians:Number = Math.atan2(dy,dx); sprite.rotation = radians * 180 / Math.PI;
2、平滑的上下运动(也就是正弦或余弦运动)
sprite.y = Math.sin(angle)*50; angle += speed;
3、心跳运动(忽大忽小)
sprite.scaleX = sprite.scaleY = Math.sin(angle) * range; angle += speed;
4、双角波形(没有规律的乱飞)
sprite.y = Math.sin(angle)*50; sprite.x = Math.sin(angle)*50;
5、绘制波形
sprite.x += xSpeed
sprite.y = Math.sin(angle)*50; angle += speed;
6、圆
sprite.x = centerX + Math.cos(angle)*radius; sprite.y = centerY + Math.sin(angle)*radius; angle += speed;
7、椭圆
//和圆差不多,俩半径即可 sprite.x = centerX + Math.cos(angle)*radiusX; sprite.y = centerY + Math.sin(angle)*radiusY; angle += speed;
8、勾股定理(两点间距离)
var dx:Number = sprite_1.x - sprite_2.x; var dy:Number = sprite_1.y - sprite_2.y; var distance:Number = Math.sqrt(dx*dx + dy*dy);
相关文章推荐
- Flex企业应用开发实践学习笔记(六)——使用ActionScript创建自定义组件
- 我的php学习笔记(四)数组的创建与应用
- 关于mysql的sql语句的汇总(学习笔记)03(mysql高级应用)
- Android应用开发学习笔记05--使用基本的UI控件
- Memcached学习笔记 - 在JAVA中的应用
- Linux——bash应用技巧简单学习笔记
- (转载)ADO.NET的结构——ADO.NET学习&应用笔记之一
- Angular 5.x 学习笔记之Router(路由)应用
- MTM动画教程学习笔记1【第三章 动画中的三角学】
- Sharepoint学习笔记—ECM系列--管理元数据服务应用Metadata Service Application
- IOS学习笔记-- SQLite的应用
- JavaScript学习笔记(07)之JavaScript的对象应用
- Spring Boot学习笔记之IntelliJ IDEA将应用打包发布
- .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
- php学习笔记(三十一)自定义ajax对象,简化ajax应用
- SVN学习笔记三——钩子的应用
- windowsphone8.1学习笔记之应用数据(四)
- Unix原理与应用学习笔记----第五章 普通文件2
- ios学习笔记之block在ios开发中的应用