xgsgzxl 发表于 2023-7-11 09:39:54

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

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

xgsgzxl 发表于 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);
                        }
                }
        }
}

最后一批aser 发表于 2023-7-11 19:23:23

计算小球和大圆中心点的距离,如果如果大于大圆的半径(某个数值),就设置等于

xgsgzxl 发表于 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)