我在做一个flash的课件,需要做一个圆不动,一圆运动,随着运动,两圆的圆心距不断缩小,能否像几何画板一
我在做一个flash的课件,需要做一个圆不动,一圆运动,随着运动,两圆的圆心距不断缩小,能否像几何画板一样显示两圆圆心距的距离的变化(数字显示)。...
我在做一个flash的课件,需要做一个圆不动,一圆运动,随着运动,两圆的圆心距不断缩小,能否像几何画板一样显示两圆圆心距的距离的变化(数字显示)。
展开
4个回答
展开全部
1、画不动的圆并调整好大小。然后转换为 影片剪辑元件 (假设元件名为 circleDistance)。
注意:原件的控制点选中心。
2、双击原件circleDistance,进入原件内,此时,元件坐标原点就是 定圆的圆心。
3、在元件circleDistance内,画动圆。调整好动圆的大小后,再调它的位置(直接调整它的坐标就行)。调整好后,将其转换为 影片剪辑原件,元件名为:moveCircle ,实例名为:moveC 。
4、创建一动态文本,实例名为:distanc
5a、如果不熟悉AS,可以制作moveC的补间动画。
在元件circleDistance内新建一图层,在帧上写AS:
onEnterFram = function(){
distanc.text = String(Math.sqrt(Math.pow(moveC._x, 2)+Math.pow(moveC._y, 2)));
}
5b、如果熟悉AS,则可以用AS脚本来控制moveC坐标。在控制坐标的同时计算距离:
distanc.text = String(Math.sqrt(Math.pow(moveC._x, 2)+Math.pow(moveC._y, 2)));
注意:原件的控制点选中心。
2、双击原件circleDistance,进入原件内,此时,元件坐标原点就是 定圆的圆心。
3、在元件circleDistance内,画动圆。调整好动圆的大小后,再调它的位置(直接调整它的坐标就行)。调整好后,将其转换为 影片剪辑原件,元件名为:moveCircle ,实例名为:moveC 。
4、创建一动态文本,实例名为:distanc
5a、如果不熟悉AS,可以制作moveC的补间动画。
在元件circleDistance内新建一图层,在帧上写AS:
onEnterFram = function(){
distanc.text = String(Math.sqrt(Math.pow(moveC._x, 2)+Math.pow(moveC._y, 2)));
}
5b、如果熟悉AS,则可以用AS脚本来控制moveC坐标。在控制坐标的同时计算距离:
distanc.text = String(Math.sqrt(Math.pow(moveC._x, 2)+Math.pow(moveC._y, 2)));
展开全部
静止的圆可以看做是一个坐标。动的那个是要做成点击拖动还是让它自己运动?数字需要精确显示还是只需要显示规律?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
= = 1楼代码错了一点而已...改一下就可以了...
不过这个"停",必须按1次到12.再按一次才会到15.再按才到20.
import flash.events.MouseEvent;
stop();
var count:int=1;
btn.addEventListener(MouseEvent.CLICK,stopClick);
function stopClick(e:MouseEvent):void{
if(count==1)
if(count==2)
if(count==3)
count++;
}
如果想只按1次就自动跳到12 15 20
要用gotoAndPlay
import flash.events.MouseEvent;
stop();
var work:Boolean = false;
btn.addEventListener(MouseEvent.CLICK,stopClick);
function stopClick(e:MouseEvent):void{
work = true;
gotoAndStop(12);
}
//然后第12帧写上
if(work)
//第15帧写上
if(work){
gotoAndStop(20);
work=false;
}
//
= =不过告诉你..."1帧"是很快的....
你最好把15帧拉长10帧....
就是15-25帧都是15帧的东西...
不过这个"停",必须按1次到12.再按一次才会到15.再按才到20.
import flash.events.MouseEvent;
stop();
var count:int=1;
btn.addEventListener(MouseEvent.CLICK,stopClick);
function stopClick(e:MouseEvent):void{
if(count==1)
if(count==2)
if(count==3)
count++;
}
如果想只按1次就自动跳到12 15 20
要用gotoAndPlay
import flash.events.MouseEvent;
stop();
var work:Boolean = false;
btn.addEventListener(MouseEvent.CLICK,stopClick);
function stopClick(e:MouseEvent):void{
work = true;
gotoAndStop(12);
}
//然后第12帧写上
if(work)
//第15帧写上
if(work){
gotoAndStop(20);
work=false;
}
//
= =不过告诉你..."1帧"是很快的....
你最好把15帧拉长10帧....
就是15-25帧都是15帧的东西...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度HI我,我直接发你圆和圆的位置关系的AS课件吧,具体交流也行
思路是设置两个点,每个点控制一个圆(相当于圆心),拖动圆心可以改变圆的位置
实时计算出两个圆心的距离即可。
如果要显示圆和圆的位置关系,比较圆心距和两圆半径的大小关系即可。
思路是设置两个点,每个点控制一个圆(相当于圆心),拖动圆心可以改变圆的位置
实时计算出两个圆心的距离即可。
如果要显示圆和圆的位置关系,比较圆心距和两圆半径的大小关系即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询