手势滑动及区域判断(Demo)


未命名.jpg 
这是一个手势滑动的Demo:
主要功能:点击按钮会向相应的方向移动,超过一定范围会反弹回来。
在手机上可实现手势的滑动。

在全局脚本"init"中,改变以下变量可以增加关卡按钮的数量及之间的间距
//编辑选择关卡数:10
TheLevelNumber = 10;
//编辑选择关卡间距:245
TheSpacing = 245;
希望大家慢慢体会!!


更新手势滑动:
具体功能和上面的DEMO一样,但方法更简单实用
主要是通过FollowMouse函数来实现
拖动效果其实只有两个步骤(按下鼠标被拖动的角色跟随鼠标移动、松开鼠标停止跟随鼠标移动):
1.当鼠标按下时计算当前鼠标位置与被拖动角色的偏移量
x轴上的偏移量 = 
角色在屏幕坐标中水平方向的位置 - 鼠标在屏幕的水平方向上的坐标
即偏移量 =  角色名.xscreen - xmouse
y轴上的偏移量 = 
角色在屏幕坐标中竖直方向的位置 - 鼠标在屏幕的竖直方向上的坐标
即偏移量 =  角色名.yscreen - ymouse

具体代码:
FollowMouse(角色名, X_AXIS,(角色名.xscreen - xmouse),(角色名.yscreen - ymouse));

2.当松开鼠标时,禁止跟随鼠标
FollowMouse(角色名, NONE_AXIS,0,0);

拖动的判断根据是被拖动的角色的坐标是否被改变过
代码:
//判断是否被拖动过
if( ParentXPosition != dragActor->x )
{
  //拖动标志置1
  TheDragFlag = 1;
}

使拖动角色不可见可以使用 创建角色 -> 可见状态 -> 指定角色状态:不显示,但是接受事件
使用代码则为 创建角色 -> 编辑脚本
代码为:VisibilityState(角色名,DONT_DRAW_ONLY);

其他就不详细说明,大家慢慢体会!!!
附件下载地址:http://www.dongyo.cn/bbs/forum.php?mod=viewthread&tid=2719&extra=page%3D2

posted @ 2013-05-20 17:57  zj_king  阅读(458)  评论(0)    收藏  举报