目录结构调整
This commit is contained in:
@@ -0,0 +1,668 @@
|
||||
/*
|
||||
默认动画:
|
||||
|
||||
放大缩小 zoom 参数:目标倍数,时间(不是秒,是一个值,自己调一调)
|
||||
旋转 rotate 参数:目标倍数,时间(不是秒,是一个值,自己调一调)
|
||||
定向移动 move 参数:方向,距离,时间(不是秒,是一个值,自己调一调)
|
||||
定点移动 moveTo 参数:目标位置[100,100],时间(不是秒,是一个值,自己调一调)
|
||||
|
||||
|
||||
是否正在播放
|
||||
if (!AM.is_play(5)) {
|
||||
同时播放:边放大,边旋转
|
||||
|
||||
放大到200
|
||||
AM.add(5).bfunc(function(){
|
||||
该链式动画开始之前执行
|
||||
}).zoom(200,35).func(function(){
|
||||
该链式动画完成时执行,此时不能再次执行同一ID的动画
|
||||
}).start();
|
||||
同时旋转30度
|
||||
AM.new(5).bfunc(function(){
|
||||
该链式动画开始之前执行
|
||||
}).rotate(get_self(5,34)+30,30).func(function(){
|
||||
该链式动画完成时执行,此时不能再次执行同一ID的动画
|
||||
}).start();
|
||||
}
|
||||
|
||||
是否正在播放
|
||||
if (!AM.is_play(5)) {
|
||||
逐步播放:先放大到200,然后旋转30度
|
||||
|
||||
先放大到200,然后旋转30度
|
||||
AM.add(5).bfunc(function(){
|
||||
该链式动画开始之前执行
|
||||
}).zoom(200,35).rotate(get_self(5,34)+30,30).func(function(){
|
||||
该链式动画完成时执行,此时不能再次执行同一ID的动画
|
||||
}).start();
|
||||
};
|
||||
|
||||
清除所有动画
|
||||
AM.clear() 一个参数:
|
||||
空:默认为false,会直接变为理想状态
|
||||
true :回到未执行完的动画的初始状态。
|
||||
AM.remove() 两个参数:
|
||||
一:id:清除某ID的动画
|
||||
二:空:默认为false,会直接变为理想状态
|
||||
true :回到未执行完的动画的初始状态。
|
||||
|
||||
|
||||
*/
|
||||
|
||||
function HAnimation(desc){
|
||||
this.desc=desc||"";
|
||||
var item=[];//动画序列
|
||||
var playID=[];//l
|
||||
var deploy=0;//延迟
|
||||
var id=0,
|
||||
duration=0;
|
||||
var king={};
|
||||
var currentPlay=null;
|
||||
var currentP=[];
|
||||
var pos=[];
|
||||
var opos=[];
|
||||
var self=this;
|
||||
self.isPlaying=0;
|
||||
var toO=false;
|
||||
var toend=false;
|
||||
var repp=false;
|
||||
var func=function(){};
|
||||
var bfunc=function(){};
|
||||
var result={}
|
||||
//var one_by_one={
|
||||
//id:0,
|
||||
//item:[],
|
||||
//currentPlay:null,
|
||||
//isPlaying:0,
|
||||
//pos:[],
|
||||
//opos:[],
|
||||
//toO:false,
|
||||
//repp:false,
|
||||
//func:function(){},
|
||||
//}
|
||||
this.register=function(obj){
|
||||
if (self.isPlaying == 1) {
|
||||
//console.log("该动画已经在运行了");
|
||||
return king;
|
||||
}
|
||||
id = obj;
|
||||
pos = [];
|
||||
opos = [];
|
||||
currentPlay = null;
|
||||
currentP = [];
|
||||
self.isPlaying = 0;
|
||||
pos = [get_self(id, 18, 0, 0), get_self(id, 19, 0, 0)];
|
||||
opos = [get_self(id, 18, 0, 0), get_self(id, 19, 0, 0)];
|
||||
return king;
|
||||
};
|
||||
king.bfunc=function(funcc){
|
||||
bfunc = funcc||bfunc;
|
||||
return king;
|
||||
};
|
||||
king.func=function(funcc){
|
||||
func = funcc||func;
|
||||
return king;
|
||||
};
|
||||
king.repeat=function(self){
|
||||
if (self==0) {
|
||||
stop();
|
||||
}
|
||||
repp=true;
|
||||
return king;
|
||||
};
|
||||
this.set_end=function(end){
|
||||
toend=end;
|
||||
}
|
||||
this.set_toO=function(O){
|
||||
toO=O;
|
||||
};
|
||||
king.set_end=function(end){
|
||||
toend=end;
|
||||
};
|
||||
king.set_toO=function(O){
|
||||
toO=O;
|
||||
};
|
||||
//预设动画:左移,右移,上移,下移,定向移动
|
||||
king.wait=function(time,func){
|
||||
var tim=time||0;
|
||||
var func=func||function(){};
|
||||
var otime=tim;
|
||||
var piecea=function(otime){
|
||||
if (time==0) {
|
||||
time=otime;
|
||||
func();
|
||||
return 2;
|
||||
}
|
||||
time=time-1;
|
||||
return 1;
|
||||
}
|
||||
item[item.length]={id:item.length,state:0,argu:arguments,func:piecea,pos:pos}
|
||||
return king;
|
||||
}
|
||||
king.path=function(mpos,time,func){
|
||||
result[18]=mpos[0]
|
||||
result[19]=mpos[1]
|
||||
var pp=Math.abs(pos[1]-mpos[1])/time;
|
||||
console.log(pos[1],mpos[1],time,pp)
|
||||
var path=function(mpos){
|
||||
var A=new Point(pos[0],pos[1]);
|
||||
var B=new Point(mpos[0],mpos[1]);
|
||||
if (get_self(id,18)<mpos[0]) {
|
||||
set_self(id, 18,pp, 1, 0);
|
||||
}else if (get_self(id,18)>mpos[0]){
|
||||
set_self(id, 18,pp, 2, 0);
|
||||
}
|
||||
var y;
|
||||
if (B.x==A.x) {
|
||||
var y=B.y;
|
||||
}else{
|
||||
y=func(A,B,get_self(id, 18));
|
||||
}
|
||||
set_self(id, 19,y, 0, 0);
|
||||
// get_self(id, 18, 0, 0)==mpos[0]&&get_self(id, 19, 0, 0)==mpos[1]
|
||||
if (Math.abs(get_self(id, 18, 0, 0)-mpos[0])<10&&Math.abs(get_self(id, 19, 0, 0)-mpos[1])<10) {
|
||||
set_self(id,18,mpos[0],0,0);
|
||||
set_self(id,19,mpos[1],0,0);
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
item[item.length]={id:item.length,state:0,argu:arguments,func:path,pos:pos}
|
||||
return king;
|
||||
}
|
||||
king.moveTo=function(mpos,time){
|
||||
var pp;
|
||||
if (pos[0]!=mpos[0]) {
|
||||
pp=Math.abs(pos[0]-mpos[0])/time;
|
||||
}else{
|
||||
pp=Math.abs(pos[1]-mpos[1])/time;
|
||||
}
|
||||
result[18]=mpos[0]
|
||||
result[19]=mpos[1]
|
||||
var moveTo=function(mpos){
|
||||
var A=new Point(pos[0],pos[1]);
|
||||
var B=new Point(mpos[0],mpos[1]);
|
||||
if ((B.y-A.y)==0&&(B.x-A.x)==0) {
|
||||
return 2;
|
||||
}
|
||||
if (get_self(id,18)<mpos[0]) {
|
||||
set_self(id, 18,pp, 1, 0);
|
||||
}else if (get_self(id,18)>mpos[0]){
|
||||
set_self(id, 18,pp, 2, 0);
|
||||
}
|
||||
var y;
|
||||
if (B.x==A.x) {
|
||||
var y=B.y;
|
||||
}else{
|
||||
y=(B.y-A.y)/(B.x-A.x)*(get_self(id, 18, 0, 0)-A.x)+A.y;
|
||||
}
|
||||
set_self(id, 19,y, 0, 0);
|
||||
//if (get_self(id,19)<mpos[1]) {
|
||||
////console.log("MOVETO"+get_self(id,19));
|
||||
//set_self(id, 19,1, 1, 0);
|
||||
//}else if (get_self(id,19)>mpos[1]){
|
||||
////console.log("MOVETO"+get_self(id,19));
|
||||
//set_self(id, 19,1, 2, 0);
|
||||
//}
|
||||
if (Math.abs(get_self(id, 18, 0, 0)-mpos[0])<10&&Math.abs(get_self(id, 19, 0, 0)-mpos[1])<10) {
|
||||
//console.log("MOVETO",mpos[0],mpos[1]);
|
||||
set_self(id,18,mpos[0],0,0);
|
||||
set_self(id,19,mpos[1],0,0);
|
||||
return 2;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
item[item.length]={id:item.length,state:0,argu:arguments,func:moveTo,pos:pos}
|
||||
return king;
|
||||
}
|
||||
king.move=function(type,mile,time){
|
||||
if (type=='right') {
|
||||
result[18]=pos[0]+mile
|
||||
}else if (type=='left') {
|
||||
result[18]=pos[0]-mile
|
||||
}else if (type=='up') {
|
||||
result[19]=pos[1]-mile
|
||||
}else if (type=='down') {
|
||||
result[19]=pos[1]+mile
|
||||
}
|
||||
var pp=mile/time;
|
||||
var moveGo=function(type,mile){
|
||||
////console.log(type);
|
||||
if (type=='right') {
|
||||
set_self(id, 18,pp, 1, 0);
|
||||
if ((get_self(id, 18, 0, 0)-pos[0])>= mile) {
|
||||
pos[0]=pos[0]+mile;//-get_self(id, 20, 0, 0);
|
||||
set_self(id,18,pos[0],0,0);
|
||||
//console.log('right'+id);
|
||||
return 2;
|
||||
}
|
||||
}else if (type=='left') {
|
||||
set_self(id, 18,pp, 2, 0);
|
||||
if ((pos[0]-get_self(id, 18, 0, 0))>= mile) {
|
||||
pos[0]=pos[0]-mile;
|
||||
//console.log('left'+id);
|
||||
set_self(id,18,pos[0],0,0);
|
||||
return 2;
|
||||
}
|
||||
}else if (type=='up') {
|
||||
set_self(id, 19,pp, 2, 0);
|
||||
if ((pos[1]-get_self(id, 19, 0, 0))>= mile) {
|
||||
pos[1]=pos[1]-mile;
|
||||
set_self(id,19,pos[1],0,0);
|
||||
//console.log('up'+id);
|
||||
return 2;
|
||||
}
|
||||
}else if (type=='down') {
|
||||
set_self(id, 19,pp, 1, 0);
|
||||
if ((get_self(id, 19, 0, 0)-pos[1])>= mile) {
|
||||
pos[1]=pos[1]+mile;
|
||||
set_self(id,19,pos[1],0,0);
|
||||
//console.log('down'+id);
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
item[item.length]={id:item.length,state:0,argu:arguments,func:moveGo,pos:pos}
|
||||
return king;
|
||||
}
|
||||
king.zoom=function(beishu,time){
|
||||
//console.log("zoomBB");
|
||||
var pp;
|
||||
console.log(beishu)
|
||||
if (beishu<0) {
|
||||
pp=-beishu/time;
|
||||
}else{
|
||||
pp=beishu/time;
|
||||
}
|
||||
result[33]=beishu
|
||||
var zoom=function(beishu){
|
||||
//console.log(beishu);
|
||||
if(beishu>=get_self(id,33,0,0)){
|
||||
set_self(id,33,pp,1,0);
|
||||
if (get_self(id,33,0,0)>=beishu) {
|
||||
//console.log("zoomBB");
|
||||
set_self(id,33,beishu,0,0);
|
||||
return 2;
|
||||
}
|
||||
}else{
|
||||
set_self(id,33,pp,2,0);
|
||||
if (get_self(id,33,0,0)<=beishu) {
|
||||
//console.log("zoomSS");
|
||||
set_self(id,33,beishu,0,0);
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
item[item.length]={id:item.length,state:0,argu:arguments,func:zoom,pos:pos}
|
||||
return king;
|
||||
}
|
||||
king.rotate=function(beishu,time){
|
||||
//console.log("rotateAA");
|
||||
var pp;
|
||||
if (beishu<0) {
|
||||
pp=-beishu/time;
|
||||
}else if (beishu>0){
|
||||
pp=beishu/time;
|
||||
}else{
|
||||
pp=(0-get_self(id,34,0,0))/time;
|
||||
}
|
||||
result[34]=beishu
|
||||
var rotate=function(beishu){
|
||||
if(beishu>=get_self(id,34,0,0)){
|
||||
set_self(id,34,pp,1,0);
|
||||
if (get_self(id,34,0,0)>=beishu) {
|
||||
//console.log("rotateAA");
|
||||
set_self(id,34,beishu,0,0);
|
||||
return 2;
|
||||
}
|
||||
}else{
|
||||
set_self(id,34,pp,2,0);
|
||||
if (Math.abs(get_self(id,34,0,0))>=Math.abs(beishu)) {
|
||||
//console.log("rotateBB",get_self(id,34,0,0),beishu);
|
||||
set_self(id,34,beishu,0,0);
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
item[item.length]={id:item.length,state:0,argu:arguments,func:rotate,pos:pos}
|
||||
return king;
|
||||
}
|
||||
|
||||
|
||||
king.alpha=function(beishu,time){
|
||||
//console.log("rotateAA");
|
||||
var pp;
|
||||
var last=result[35]||255
|
||||
if (result[35]!=undefined&&result[35]==0) {
|
||||
last=0;
|
||||
}
|
||||
pp=Math.abs(last-beishu)/time;
|
||||
console.log("pppp",last)
|
||||
result[35]=beishu
|
||||
var alpha=function(beishu){
|
||||
if(beishu>=get_self(id,35,0,0)){
|
||||
set_self(id,35,pp,1,0);
|
||||
if (get_self(id,35,0,0)>=beishu) {
|
||||
//console.log("rotateAA");
|
||||
set_self(id,35,beishu,0,0);
|
||||
return 2;
|
||||
}
|
||||
}else{
|
||||
set_self(id,35,pp,2,0);
|
||||
if (get_self(id,35,0,0)<=beishu) {
|
||||
//console.log("rotateBB",get_self(id,34,0,0),beishu);
|
||||
set_self(id,35,beishu,0,0);
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
item[item.length]={id:item.length,state:0,argu:arguments,func:alpha,pos:pos}
|
||||
return king;
|
||||
}
|
||||
|
||||
king.start=function(open){
|
||||
if (item.length==0) {
|
||||
return
|
||||
}
|
||||
//set_self(id,18,opos[0],0,0);
|
||||
//set_self(id,19,opos[1],0,0);
|
||||
//set_self(id,34,0,0,0);
|
||||
//set_self(id,33,100,0,0);
|
||||
currentPlay = null;
|
||||
self.isPlaying = 1;
|
||||
bfunc();
|
||||
set_self(id, 57, 1, 0, 0);//开启定时器
|
||||
}
|
||||
|
||||
this.start=function(open){
|
||||
if (item.length==0) {
|
||||
return
|
||||
}
|
||||
//set_self(id,18,opos[0],0,0);
|
||||
//set_self(id,19,opos[1],0,0);
|
||||
//set_self(id,34,0,0,0);
|
||||
//set_self(id,33,100,0,0);
|
||||
currentPlay = null;
|
||||
self.isPlaying = 1;
|
||||
bfunc();
|
||||
set_self(id, 57, 1, 0, 0);//开启定时器
|
||||
}
|
||||
var stop=function(){
|
||||
if (toO) {
|
||||
set_self(id,18,opos[0],0,0);
|
||||
set_self(id,19,opos[1],0,0);
|
||||
set_self(id,34,0,0,0);
|
||||
set_self(id,33,100,0,0);
|
||||
}
|
||||
currentPlay = null;
|
||||
self.isPlaying = 0;
|
||||
item = [];
|
||||
}
|
||||
this.show=function(){
|
||||
//console.log(item);
|
||||
}
|
||||
this.end=function(O){
|
||||
toO=O;
|
||||
if (O==undefined) {
|
||||
toO=false;
|
||||
}
|
||||
for (var key in result) {
|
||||
set_self(id,parseInt(key),parseInt(result[key]),0,0);
|
||||
//console.log("id=="+id+" key:"+key+",desc:"+result[key]);
|
||||
}
|
||||
stop();
|
||||
func();
|
||||
}
|
||||
this.ontimer=function(gameid,spid){
|
||||
if (spid!=id) {
|
||||
return;
|
||||
}
|
||||
if (toend) {
|
||||
if (toO) {
|
||||
|
||||
}else{
|
||||
|
||||
if (item.length!=0) {
|
||||
for (var key in result) {
|
||||
set_self(id,parseInt(key),parseInt(result[key]),0,0);
|
||||
//console.log("id=="+id+" key:"+key+",desc:"+result[key]);
|
||||
}
|
||||
//console.log(result)
|
||||
}
|
||||
}
|
||||
stop();
|
||||
func();
|
||||
}
|
||||
if (item.length==0) {
|
||||
return;
|
||||
}
|
||||
if (currentPlay==null) {
|
||||
currentPlay=item[0];
|
||||
currentPlay.state=1;
|
||||
}
|
||||
if (currentPlay.state==2) {//播放结束
|
||||
if (currentPlay.id<item.length-1) {
|
||||
currentPlay=item[currentPlay.id+1];
|
||||
currentPlay.state=1;
|
||||
}else{
|
||||
if (repp==false) {
|
||||
////console.log(item);
|
||||
//console.log("执行结果:");
|
||||
stop();
|
||||
func();
|
||||
return;
|
||||
}else{
|
||||
if (toO) {
|
||||
|
||||
set_self(id,18,opos[0],0,0);
|
||||
set_self(id,19,opos[1],0,0);
|
||||
set_self(id,34,0,0,0);
|
||||
set_self(id,33,100,0,0);
|
||||
}
|
||||
pos=[opos[0],opos[1]];
|
||||
currentPlay=item[0];
|
||||
currentPlay.state=1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
////console.log(spid);
|
||||
if (spid==id) {
|
||||
if (currentPlay.state==1) {
|
||||
var state=currentPlay.func.apply(null,currentPlay.argu);//Array.prototype.slice.call(arguments, 0));
|
||||
currentPlay.state=state;
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
*/
|
||||
//var HA=app.register("Animation1",new HAnimation("1"));
|
||||
//var HAn=app.register("Animation2",new HAnimation("2"));
|
||||
//HA.item=[];
|
||||
//HA.add=function(desc){
|
||||
//HA.item.push(new HAnimation(desc))
|
||||
//}
|
||||
//HA.get=function(pos){
|
||||
//if (!HA.item[pos]) {
|
||||
//HA.item[pos]=new HAnimation("")
|
||||
//}
|
||||
//return HA.item[pos]
|
||||
//}
|
||||
|
||||
function AManager(){
|
||||
var self=this;
|
||||
this.animantions={};
|
||||
var king={};
|
||||
this.add=function(id){
|
||||
var animation;
|
||||
if (!self.animantions[id]) {
|
||||
self.animantions[id]=[];
|
||||
animation=new HAnimation("")
|
||||
//console.log(animation)
|
||||
self.animantions[id].push(animation)
|
||||
}
|
||||
animation=self.animantions[id][self.animantions[id].length-1]
|
||||
return animation.register(id)
|
||||
}
|
||||
this.new=function(id){
|
||||
animation=new HAnimation("")
|
||||
self.animantions[id].push(animation)
|
||||
return animation.register(id)
|
||||
}
|
||||
this.action=function(id){
|
||||
if (self.animantions[id]) {
|
||||
animation = self.animantions[id]
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
animation[i].start();
|
||||
}
|
||||
}
|
||||
}
|
||||
this.get=function(id){
|
||||
if (self.animantions[id]) {
|
||||
return self.animantions[id]
|
||||
}
|
||||
return;
|
||||
//throw "该 id=="+id+" 不存在或者没有动画列表"
|
||||
}
|
||||
this.is_play=function(id){
|
||||
//this.get(id)
|
||||
animation=this.get(id);
|
||||
if (animation==undefined) {
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
if (animation[i].isPlaying==1) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
this.cls_id=function(id){
|
||||
if (self.animantions[id]) {
|
||||
set_self(id, 57, 0, 0, 0);
|
||||
delete self.animantions[id];
|
||||
}
|
||||
|
||||
}
|
||||
this.remove=function(id,end){
|
||||
if (self.animantions[id]) {
|
||||
animation=self.animantions[id];
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
animation[i].end(end);
|
||||
}
|
||||
delete self.animantions[id];
|
||||
}
|
||||
}
|
||||
this.mremove=function(id){
|
||||
delete self.animantions[id];
|
||||
}
|
||||
this.clear=function(end){
|
||||
if (end==undefined) {
|
||||
end=false
|
||||
}
|
||||
for (var anim in self.animantions) {
|
||||
animation=self.animantions[anim];
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
animation[i].end(end);
|
||||
}
|
||||
}
|
||||
self.animantions={};
|
||||
}
|
||||
this.clear_exrepp=function(end){
|
||||
if (end==undefined) {
|
||||
end=false
|
||||
}
|
||||
for (var anim in self.animantions) {
|
||||
animation=self.animantions[anim];
|
||||
not=0;
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
if (animation[i].get_repeat()==true) {
|
||||
not=animation;
|
||||
break;
|
||||
}
|
||||
}
|
||||
console.log(not);
|
||||
if (not==0) {
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
animation[i].end(end);
|
||||
}
|
||||
delete self.animantions[anim];
|
||||
}
|
||||
}
|
||||
}
|
||||
this.ontimer=function(gameid,spid){
|
||||
if (self.animantions[spid]==undefined) {
|
||||
//if (spid!=800&&spid!=801&&spid!=802&&spid!=803&&spid!=804&&spid!=805) {
|
||||
//set_self(spid, 57, 0, 0, 0);
|
||||
//}
|
||||
// set_self(spid, 57, 0, 0, 0);
|
||||
//console.log(spid);
|
||||
return;
|
||||
}
|
||||
animation=self.animantions[spid];
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
if (animation[i].isPlaying==1) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
delete self.animantions[spid];
|
||||
set_self(spid, 57, 0, 0, 0);
|
||||
}
|
||||
this.ex=function(){
|
||||
var alist=[]
|
||||
for (var anim in self.animantions) {
|
||||
animation=self.animantions[anim];
|
||||
for (var i = 0; i < animation.length; i++) {
|
||||
alist.push(animation[i]);
|
||||
}
|
||||
}
|
||||
return alist
|
||||
}
|
||||
}
|
||||
AM=app.register_manager("AManager",new AManager());
|
||||
|
||||
//var AManager={
|
||||
//animantions:{},
|
||||
//add:function(id){
|
||||
//if (!this.animantions[id]) {
|
||||
//animation=new HAnimation("")
|
||||
//this.animantions[id]=animation
|
||||
//}else{
|
||||
//this.animantions[id]
|
||||
//}
|
||||
//return animation
|
||||
//}
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
(function(wnd) {
|
||||
function Point(x,y){
|
||||
this.x=x||0;
|
||||
this.y=y||0;
|
||||
}
|
||||
|
||||
window.Point=Point;
|
||||
})(window);
|
||||
|
||||
var app=(function(){
|
||||
var item={};
|
||||
var manager={};
|
||||
var register=function(name,KJ) {
|
||||
item[name]=KJ;
|
||||
return KJ;
|
||||
};
|
||||
var register_manager=function(name,KJ) {
|
||||
manager[name]=KJ;
|
||||
return KJ;
|
||||
};
|
||||
var remove=function (name) {
|
||||
if (item[name]) {
|
||||
delete item[name];
|
||||
}
|
||||
};
|
||||
var get=function(name){
|
||||
if (item[name]) {
|
||||
return item[name];
|
||||
}else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
var have=function(name){
|
||||
if (item[name]) {
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
var show=function(){
|
||||
for (var key in item) {
|
||||
console.log("key:"+key+",desc:"+item[key]['desc']);
|
||||
}
|
||||
}
|
||||
var runmouse=function(func){
|
||||
for (var key in item) {
|
||||
if (item[key][func]) {
|
||||
item[key][func].apply(item[key],Array.prototype.slice.call(arguments, 1));
|
||||
}
|
||||
}
|
||||
for (var key in manager) {
|
||||
if (manager[key]) {
|
||||
if (manager[key][func]) {
|
||||
manager[key][func].apply(manager[key],Array.prototype.slice.call(arguments, 1));
|
||||
}
|
||||
var list=manager[key].ex()
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
if (list[i][func]) {
|
||||
list[i][func].apply(list[i],Array.prototype.slice.call(arguments, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//if (item[name][func]) {,name
|
||||
//console.table(item[name].clickable)
|
||||
//item[name][func].apply(item[name],Array.prototype.slice.call(arguments, 2));
|
||||
//}
|
||||
}
|
||||
return {
|
||||
manager:manager,
|
||||
item:item,
|
||||
register:register,
|
||||
register_manager:register_manager,
|
||||
remove:remove,
|
||||
runmouse:runmouse,
|
||||
get:get,
|
||||
have:have,
|
||||
show:show,
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,80 @@
|
||||
var Func=Func||{};
|
||||
|
||||
Func.set_text_adjust=function (textid,text) {
|
||||
var w=String(text).length;
|
||||
set_self(textid,20,30*w,0,0);
|
||||
set_self(textid,7,text,0,0);
|
||||
};
|
||||
|
||||
Func.bindFather=function(child,father,type,offset) {
|
||||
var offset=offset||0;
|
||||
if (type === 'bottom-mid') {
|
||||
var X= get_self(father,18,0,0);//获取父控件X
|
||||
var width=get_self(father,20,0,0);//获取父控件宽度
|
||||
var child_width=get_self(child,20,0,0);
|
||||
var startpos=X+width/2-child_width/2;
|
||||
set_self(child,18,startpos+offset,0,0)
|
||||
}else if(type === 'left-mid'){
|
||||
var height=get_self(father,21,0,0);//获取父控件高度
|
||||
var Y= get_self(father,19,0,0);//获取父控件Y
|
||||
var child_height=get_self(child,21,0,0);
|
||||
var startpos=Y+height/2-child_height/2;
|
||||
set_self(child,19,startpos+offset,0,0)
|
||||
}else if(type === 'right'){
|
||||
var X= get_self(father,18,0,0);//获取父控件X
|
||||
var width=get_self(father,20,0,0);//获取父控件宽度
|
||||
var child_width=get_self(child,20,0,0);
|
||||
var startpos=X+width-child_width;
|
||||
set_self(child,18,startpos+offset,0,0)
|
||||
}else if(type === 'next_right'){
|
||||
var X= get_self(father,18,0,0);//获取父控件X
|
||||
var width=get_self(father,20,0,0);//获取父控件宽度
|
||||
var child_width=get_self(child,20,0,0);
|
||||
var startpos=X+width;
|
||||
set_self(child,18,startpos+offset,0,0)
|
||||
}else if(type === 'left'){
|
||||
var X= get_self(father,18,0,0);//获取父控件X
|
||||
var width=get_self(father,20,0,0);//获取父控件宽度
|
||||
var child_width=get_self(child,20,0,0);
|
||||
var startpos=X;
|
||||
set_self(child,18,startpos+offset,0,0)
|
||||
}else if(type === 'next_left'){
|
||||
var X= get_self(father,18,0,0);//获取父控件X
|
||||
var width=get_self(father,20,0,0);//获取父控件宽度
|
||||
var child_width=get_self(child,20,0,0);
|
||||
var startpos=X-child_width;
|
||||
set_self(child,18,startpos-offset,0,0)
|
||||
}else if (type === 'mid') {
|
||||
var X= get_self(father,18,0,0);//获取父控件X
|
||||
var width=get_self(father,20,0,0);//获取父控件宽度
|
||||
var child_width=get_self(child,20,0,0);
|
||||
var height=get_self(father,21,0,0);//获取父控件高度
|
||||
var Y= get_self(father,19,0,0);//获取父控件Y
|
||||
var child_height=get_self(child,21,0,0);
|
||||
set_self(child,18,X+width/2-child_width/2+offset,0,0)
|
||||
set_self(child,19,Y+height/2-child_height/2+offset,0,0)
|
||||
}
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------//
|
||||
//获取一个控件的位置属性
|
||||
//-------------------------------------------------------------//
|
||||
function GS(spid){
|
||||
var result={};
|
||||
result.width=get_self(spid,20,0,0);
|
||||
result.height=get_self(spid,21,0,0);
|
||||
result.startX=get_self(spid,18,0,0);
|
||||
result.endX=get_self(spid,18,0,0)+get_self(spid,20,0,0);
|
||||
result.startY=get_self(spid,19,0,0);
|
||||
result.endY=get_self(spid,19,0,0)+get_self(spid,21,0,0);
|
||||
result.text=get_self(spid,7,0,0);
|
||||
result.can_click=get_self(spid,41,0,0);
|
||||
result.is_show=get_self(spid,37,0,0);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,296 @@
|
||||
//滑动
|
||||
//-------------------------------------------------------------//
|
||||
var SlideBar=function(desc){
|
||||
this.desc=desc||"";
|
||||
var btn=0,
|
||||
bar=0,
|
||||
text=0;
|
||||
var data=[];
|
||||
var oneFunc,
|
||||
lastFunc;
|
||||
var aline=false;
|
||||
var frontValue=0;
|
||||
var behindVlue=0;
|
||||
this.currentValue=0;
|
||||
this.currentValue_index=0;
|
||||
var next_id=0;
|
||||
var before_id=0;
|
||||
var canclick=true;
|
||||
this.init=function(obj){
|
||||
btn=obj.btnId||0;
|
||||
bar=obj.barId||0;
|
||||
text=obj.textId||0;
|
||||
next_id=obj.nextId||0;
|
||||
before_id=obj.beforeId||0;
|
||||
aline=obj.aline||false;
|
||||
data=obj.data||[0,0];
|
||||
oneFunc=obj.oneFunc||function(){return 0;};
|
||||
frontValue=obj.frontValue||0;
|
||||
behindVlue=obj.behindVlue||data.length-1;
|
||||
var btnWidth=get_self(btn,20,0,0);
|
||||
var barWidth=get_self(bar,20,0,0);
|
||||
var btnHeight=get_self(btn,21,0,0);
|
||||
var barHeight=get_self(bar,21,0,0);
|
||||
var btnX=get_self(btn,18,0,0);
|
||||
var btnY=get_self(btn,19,0,0);
|
||||
var barX=get_self(bar,18,0,0);
|
||||
var barY=get_self(bar,19,0,0);
|
||||
var y= barY+barHeight/2-btnHeight/2;
|
||||
var x= barX-btnWidth/2;
|
||||
set_self(btn,18,x,0,0);
|
||||
set_self(btn,19,y,0,0);
|
||||
this.set_text(data[0]);
|
||||
if (aline) {
|
||||
//textWidth(get_self(text,7,0,0),text);
|
||||
Func.bindFather(text,btn,"mid");
|
||||
}
|
||||
if (behindVlue>=frontValue) {
|
||||
this.set_value(frontValue);
|
||||
}
|
||||
};
|
||||
this.set_data=function(o_data){
|
||||
data=o_data;
|
||||
frontValue=0;
|
||||
behindVlue=data.length-1;
|
||||
this.set_value(this.currentValue_index);
|
||||
this.currentValue=data[this.currentValue_index];
|
||||
//textWidth(get_self(text,7,0,0),text);
|
||||
};
|
||||
this.set_text=function(ta){
|
||||
var w=String(ta).length;
|
||||
set_self(text,20,30*w,0,0);
|
||||
set_self(text,7,ta,0,0);
|
||||
}
|
||||
this.get_data=function(){
|
||||
return data;
|
||||
}
|
||||
this.hide_btn=function(){
|
||||
set_self(btn,37,0,0,0);
|
||||
this.can_click(false);
|
||||
}
|
||||
this.show_btn=function(){
|
||||
if (get_self(bar,37,0,0)==1) {
|
||||
set_self(btn,37,1,0,0);
|
||||
}
|
||||
this.can_click(true);
|
||||
}
|
||||
this.hide_text=function(){
|
||||
set_self(text,37,0,0,0);
|
||||
}
|
||||
this.show_text=function(){
|
||||
set_self(text,37,1,0,0);
|
||||
}
|
||||
this.can_click=function(click){
|
||||
canclick=click;
|
||||
}
|
||||
this.set_limit=function(limit){
|
||||
frontValue=limit.left||0;
|
||||
behindVlue=limit.right||data.length-1;
|
||||
if (behindVlue>=frontValue) {
|
||||
this.set_value(frontValue);
|
||||
//currentValue=data[frontValue];
|
||||
}
|
||||
}
|
||||
this.set_value=function(item){
|
||||
var rate=get_self(bar,20,0,0)/((data.length-1)*2);//一份的长度
|
||||
var length=item*rate*2+get_self(bar,18,0,0);
|
||||
set_self(btn,18,length-get_self(btn,20,0,0)/2,0,0);
|
||||
oneFunc(data[item],data);
|
||||
this.set_text(data[item]);
|
||||
|
||||
//textWidth(get_self(text,7,0,0),text);
|
||||
this.currentValue=data[item];
|
||||
this.currentValue_index=item;
|
||||
}
|
||||
this.mouseup=function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
|
||||
if (spid_up===spid_down && spid_up===next_id&&canclick) {
|
||||
var item=this.currentValue_index;
|
||||
item+=1;
|
||||
if (item<frontValue) {
|
||||
item=frontValue;
|
||||
}else if (item>behindVlue) {//data.length-1
|
||||
item=behindVlue;
|
||||
}
|
||||
this.set_value(item);
|
||||
}
|
||||
if (spid_up===spid_down && spid_up===before_id&&canclick) {
|
||||
var item=this.currentValue_index;
|
||||
item-=1;
|
||||
if (item<frontValue) {
|
||||
item=frontValue;
|
||||
}else if (item>behindVlue) {//data.length-1
|
||||
item=behindVlue;
|
||||
}
|
||||
this.set_value(item);
|
||||
}
|
||||
if (spid_up===spid_down && spid_up===bar&&canclick) {
|
||||
var ux=upx-get_self(bar,18,0,0);
|
||||
var rate=get_self(bar,20,0,0)/((data.length-1)*2);//一份的长度
|
||||
var item=Math.round(parseInt(ux/rate)/2);//](get_self(btn,18,0,0)+get_self(btn,20,0,0)/2)
|
||||
if (item<frontValue) {
|
||||
item=frontValue;
|
||||
}else if (item>behindVlue) {//data.length-1
|
||||
item=behindVlue;
|
||||
}
|
||||
var length=item*rate*2+get_self(bar,18,0,0);
|
||||
oneFunc(data[item],data)
|
||||
this.currentValue=data[item];
|
||||
this.currentValue_index=item;
|
||||
this.set_text(data[item]);
|
||||
set_self(btn,18,length-get_self(btn,20,0,0)/2,0,0);
|
||||
//oneFunc(data[item]);
|
||||
if (aline) {
|
||||
//textWidth(get_self(text,7,0,0),text);
|
||||
Func.bindFather(text,btn,"mid");
|
||||
}
|
||||
}
|
||||
}
|
||||
this.mousemove=function(gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1){
|
||||
if ( spid===btn&&canclick) {
|
||||
var rate=get_self(bar,20,0,0)/((data.length-1)*2);//一份的长度
|
||||
var item=parseInt((movex-get_self(bar,18,0,0))/rate);//](get_self(btn,18,0,0)+get_self(btn,20,0,0)/2)
|
||||
item=Math.round(item/2);//ceil
|
||||
if (item<frontValue) {
|
||||
item=frontValue;
|
||||
}else if (item>behindVlue) {
|
||||
item=behindVlue;
|
||||
}
|
||||
var length=item*rate*2+get_self(bar,18,0,0);
|
||||
oneFunc(data[item],data);
|
||||
this.currentValue=data[item];
|
||||
this.currentValue_index=item;
|
||||
this.set_text(data[item]);
|
||||
set_self(spid,18,length-get_self(btn,20,0,0)/2,0,0);
|
||||
//oneFunc(data[item]);
|
||||
if (aline) {
|
||||
//textWidth(get_self(text,7,0,0),text);
|
||||
Func.bindFather(text,btn,"mid");
|
||||
}
|
||||
//这里是滑动 ---------
|
||||
//var length=offmovex;
|
||||
//if ((get_self(btn,18,0,0)+get_self(btn,20,0,0)/2+offmovex)<get_self(bar,18,0,0)){
|
||||
//length=-get_self(btn,18,0,0)-get_self(btn,20,0,0)/2+get_self(bar,18,0,0);
|
||||
//}
|
||||
//if ((get_self(btn,18,0,0)+get_self(btn,20,0,0)/2+offmovex)>(get_self(bar,18,0,0)+get_self(bar,20,0,0))){
|
||||
//length= -get_self(btn,18,0,0)-get_self(btn,20,0,0)/2+(get_self(bar,18,0,0)+get_self(bar,20,0,0));
|
||||
//}
|
||||
//var rate=(get_self(btn,18,0,0)+get_self(btn,20,0,0)/2-get_self(bar,18,0,0))/get_self(bar,20,0,0);//多少分
|
||||
//oneFunc(parseInt(rate*100));
|
||||
//set_self(spid,18,length,1,0);
|
||||
//set_self(text,7,parseInt(rate*100),0,0);
|
||||
//这里是滑动---------
|
||||
}
|
||||
}
|
||||
};
|
||||
SB=app.register("TopValue",new SlideBar(""));
|
||||
SB2=app.register("TopValue2",new SlideBar(""));
|
||||
SB3=app.register("TopValue3",new SlideBar(""));
|
||||
//===============================
|
||||
var Input=function(desc){
|
||||
this.desc=desc;
|
||||
this.doorid=[];
|
||||
this.valueid=-1;
|
||||
this.limite=[0,99999];
|
||||
this.current=-1;
|
||||
this.lableid=-1;
|
||||
this.title='';
|
||||
this.realtitle='';
|
||||
this.warning='',
|
||||
this.success=function(){}
|
||||
this.failed=function(){}
|
||||
this.init=function(obj){
|
||||
this.doorid=obj.door||this.doorid;
|
||||
this.valueid=obj.value||this.valueid;
|
||||
this.lableid=obj.lable||this.lableid;
|
||||
this.realtitle=obj.title||'';
|
||||
this.warning=obj.warning||'';
|
||||
this.limite=obj.limite||this.limite;
|
||||
this.current=this.limite[0];
|
||||
this.success=obj.success||function(){}
|
||||
this.failed=obj.failed||function(){}
|
||||
if (this.valueid>0) {
|
||||
Func.set_text_adjust(this.valueid,this.current);
|
||||
this.success(this.current);
|
||||
}
|
||||
this.title=this.realtitle+'('+this.limite[0]+','+this.limite[1]+')';
|
||||
if (this.lableid>0) {
|
||||
set_self(this.lableid,7,this.title);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Input.prototype.setValue=function(type){
|
||||
if (this.valueid<=0) {
|
||||
return;
|
||||
}
|
||||
switch (type){
|
||||
case 0:
|
||||
this.current=this.limite[0];
|
||||
Func.set_text_adjust(this.valueid,this.current);
|
||||
this.success(this.current);
|
||||
break;
|
||||
case 1:
|
||||
this.current=this.limite[1];
|
||||
Func.set_text_adjust(this.valueid,this.current);
|
||||
this.success(this.current);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Input.prototype.updateLimted=function(value){
|
||||
if (this.lableid<=0||this.valueid<=0) {
|
||||
return;
|
||||
}
|
||||
this.limite=value||this.limite;
|
||||
this.title=this.realtitle+'('+this.limite[0]+','+this.limite[1]+')';
|
||||
set_self(this.lableid,7,this.title);
|
||||
if (this.current<this.limite[0]||this.current>this.limite[1]) {
|
||||
this.current=this.limite[0];
|
||||
Func.set_text_adjust(this.valueid,this.current);
|
||||
}
|
||||
}
|
||||
Input.prototype.mouseup=function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
|
||||
if (this.doorid.indexOf(spid_up)!=-1) {
|
||||
this.openInput();
|
||||
}
|
||||
}
|
||||
Input.prototype.openInput=function(){
|
||||
var that=this;
|
||||
Utl.openInputPanel(that.title,function (value) {
|
||||
if (value>=that.limite[0]&&value<=that.limite[1]) {
|
||||
that.current=value;
|
||||
Func.set_text_adjust(that.valueid,value);
|
||||
that.success(value);
|
||||
Utl.closeInputPanel();
|
||||
}else{
|
||||
that.failed(value);
|
||||
Utl.openTips(that.warning,2000)
|
||||
}
|
||||
})
|
||||
}
|
||||
sb1=app.register("In1",new Input(""));
|
||||
sb2=app.register("In2",new Input(""));
|
||||
sb3=app.register("In3",new Input(""));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user