网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月17日漏签0天
吉里吉里吧 关注:51,158贴子:70,838
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 37回复贴,共1页
<<返回吉里吉里吧
>0< 加载中...

【分享】移动按钮的小工具。。

  • 只看楼主
  • 收藏

  • 回复
  • 春暖花開2013
  • 巡抚
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//移动按钮的工具
//
//作者:春暖花开2013
//日期:2014/10/24
//
//给定按钮、移动座标、移动时间就会将它移到目的座标
//用法:moveBtn(fml(1,0), x, y, time)
class moveBtn{
var moveT = new Timer(move, **);
moveT.interval = 16; //约30fps
var dx; //目的x座标
var dy; //目的y座标
var sx; //来源x座标
var sy; //来源y座标
var time; //移动时间
var btn; //按钮
var xd; //两X座标间的距离
var yd; //两y座标间的距离
var xm; //x轴位移量
var ym; //y轴位移量
function moveBtn(ml, x, y, time){
btn = ml.object;
dx = x;
dy = y;
sx = btn.left;
sy = btn.top;
this.time = time;
//带正负号的距离
xd = dx - sx;
yd = dy - sy;
xm = (int) (xd / (int)(time /16)); //每十六毫秒x轴移动多少距离
ym = (int) (yd / (int)(time /16)); //每十六毫秒y轴移动多少距离
moveT.enabled = true;
}
function move(){
var x = btn.left + xm;
var y = btn.top + ym;
dm(*(*+dx+", "+dy+*) *+*(*+x+*, *+y+*) *+*(*+xm+*, *+ym+*)*);
if (x > dx || y > dy){
dm(*set to: *+dx+*, *+dy);
btn.setPos(dx, dy);
moveT.enabled = false;
}
else btn.setPos(x, y);
}
}
//--------------------------------------
//移动多个按钮时用
class mBtnPerfs{
var mbtnperf = []; //移动按钮工具阵列
var n; //当前使用的下标
function mBtnPerfs(){
n = 0;
}
function add(ml, x, y, time){
mbtnperf[n] = new moveBtn(ml, x, y, time);
++n;
}
//加了这段将会在eval内调用完后 就报已回收的错误。。
/*
function finalize(){
invalidate mbtnperf;
invalidate n;
}*/
}


  • 春暖花開2013
  • 巡抚
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
fml是快捷函数。。
fore message layer的缩写。。
//取得表页前景层按钮
function fml(m, link){
return kag.fore.messages[m].links[link];
}
范例用法:这段代码会将表页文字层一的第零号按钮移到座标(200, 200) 移动时间一秒钟(1000毫秒)
var mbtnperf = new moveBtn(fml(1, 0), 200, 200, 1000)


2025-07-17 08:41:33
广告
  • 春暖花開2013
  • 巡抚
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顺便求问怎麼用tjs执行wait命令。。
试过kag.waitTime(500,0,0)
kag.doWait(%[time: 500, canskip:false])
都无效。。(cry


  • tobestillstill
  • 知州
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
技术贴必须顶,利用这个或许可以做出一些小游戏


  • 春暖花開2013
  • 巡抚
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复 隔岸烟雨__ :
;淡入淡出按钮
;用法:@fbtnperf fml=fml(1,tf.n) time=500 opacity(选填)=255
;如果出现找不到.object物件的错误。。在macro里运算fml的tjs即可
@macro name=fbtnperf
@eval exp="if(typeof(global.fbtnperfs) == *undefined*) var fbtnperfs = new fBtnPerfs();"
@eval exp="dm(*fbf: *+mp.fml)"
@eval exp="fbtnperfs.add(se(mp.fml), mp.time, mp.opacity)"
@endmacro
;移动按钮
;用法:@mbtnperf fml=fml(1,tf.n) x=50 y=50 time=500
@macro name=mbtnperf
@eval exp="if(typeof(global.mbtnperfs) == *undefined*) var mbtnperfs = new mBtnPerfs();"
@eval exp="dm(*mbf: *+mp.fml)"
@eval exp="mbtnperfs.add(se(mp.fml), se(mp.x), se(mp.y), mp.time)"
@endmacro
;过度同时移动按钮,附延迟
;@fbtnperf fml=fml(1,0) x=20 y=20 ftime=500 mtime=1000 opacity=255(选填) delay=200(选填,预设为0)
@macro name=fmbtnperf
@fbtnperf fml=&mp.fml time=&mp.ftime
@mbtnperf fml=&mp.fml x=&mp.x y=&mp.y time=&mp.mtime
@wait time=%delay|0 canskip=false
@endmacro
;同时删除淡入淡出、移动按钮的变数
@macro name=dfmbtnperf
@eval exp="delete global.mbtnperfs; delete global.fbtnperfs;"
@endmacro
;删除淡入淡出按钮的变数
@macro name=dfbtnperf
@eval exp="delete global.fbtnperfs;"
@endmacro
;删除移动按钮的变数
@macro name=dmbtnperf
@eval exp="delete global.mbtnperfs;"
@endmacro


  • 春暖花開2013
  • 巡抚
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
度受。。5l达代码*用记事本取代成单引号一下。。ojz


  • 贴吧用户_0Mba6bG
  • 进士
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
复制了5L的代码以后弹窗说有语法错误……我一个人看了一下午还是没看懂QAQ


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 37回复贴,共1页
<<返回吉里吉里吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示