11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 573|回复: 3
上一主题 下一主题

[鼠标交互] 一个小游戏,用鼠标拖动小圆球,摩天轮就跟着转动

[复制链接] TA的其它主题
发表于 2023-7-11 09:39:54 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一个小游戏,用鼠标拖动小圆球,摩天轮就跟着转动,小圆球运动时本应该限制在大圆圈里,但是现在小圆球不能被限制在大圆圈里,会跑到圆圈外面。

2023-07-11_09-33-29.png

摩天轮.fla

191.66 KB, 下载次数: 5, 下载积分: 银子 -10 , 活跃 1

 楼主| 发表于 2023-7-11 09:53:31 | 显示全部楼层
import flash.events.MouseEvent;
import flash.events.Event;

wheel_mc.stop();
var Rot=0;
var actMode;
var playStep=0;
var Pn=1;
drag_btn.addEventListener(MouseEvent.MOUSE_DOWN,chgYes);
function chgYes(me:MouseEvent){
        actMode="yes";
}
drag_btn.addEventListener(MouseEvent.MOUSE_UP,chgNo);
function chgNo(me:MouseEvent){
        actMode="no";
}
jog_mc.addEventListener(MouseEvent.MOUSE_MOVE,chkRot);
function chkRot(me:MouseEvent){
        if(actMode=="yes"){
                var mX=jog_mc.mouseX;
                var mY=-jog_mc.mouseY;
                Rot=Math.atan2(mX,mY)/(Math.PI/180);
                drag_btn.rotation=Rot;
        }
}
stage.addEventListener(Event.ENTER_FRAME,cirPlay);
function cirPlay(me:Event){
        Pn=1;
        if(Rot<0){
                Pn=-1;
        }
        playStep=Math.floor(Math.abs(Rot)/30);
        if(playStep>5){
                playStep=5;
        }
        fps_txt.text=String(playStep*12*Pn);
        for(var i=1;i<=playStep;i++){
                if(Pn>0){
                        wheel_mc.nextFrame();
                        if(wheel_mc.currentFrame==wheel_mc.totalFrames){
                                wheel_mc.gotoAndPlay(1);
                        }
                        }else{
                                wheel_mc.prevFrame();
                        if(wheel_mc.currentFrame==1){
                                wheel_mc.gotoAndPlay(wheel_mc.totalFrames);
                        }
                }
        }
}
回复

使用道具 举报

发表于 2023-7-11 19:23:23 | 显示全部楼层
计算小球和大圆中心点的距离,如果如果大于大圆的半径(某个数值),就设置等于
回复

使用道具 举报

 楼主| 发表于 2023-7-12 10:00:07 | 显示全部楼层
好的,谢谢,我再试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表