User Tools

Site Tools


script_animation_flip

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
script_animation_flip [2014/07/21 17:55]
lm13
script_animation_flip [2014/09/24 16:10] (current)
lm13 [About the script]
Line 5: Line 5:
   * Link: https://​plus.google.com/​115366157037831519359/​posts/​EAUStJNGa5o   * Link: https://​plus.google.com/​115366157037831519359/​posts/​EAUStJNGa5o
   * Video : https://​plus.google.com/​115366157037831519359/​posts/​9eUTw8cCCpi   * Video : https://​plus.google.com/​115366157037831519359/​posts/​9eUTw8cCCpi
 +  * Download avialable! (Check repository)
  
 ====== Changelog ====== ​ ====== Changelog ====== ​
Line 38: Line 39:
 if(e.getSource()!="​C_POSITION_CHANGED"​) if(e.getSource()!="​C_POSITION_CHANGED"​)
 { {
-if(cont==null) cont=new Object(); + if(cont==null) cont=new Object(); 
-var box=d.getBoundingBox();​ + var box=d.getBoundingBox();​ 
-cont.minx=box.getLeft();​ + cont.minx=box.getLeft();​ 
-cont.maxx=box.getRight();​ + cont.maxx=box.getRight();​ 
-cont.miny=box.getTop();​ + cont.miny=box.getTop();​ 
-cont.maxy=box.getBottom();​ + cont.maxy=box.getBottom();​ 
-var minpagex=Math.floor( cont.minx/​dwidth);​  + var minpagex=Math.floor( cont.minx/​dwidth);​  
-var minpagey=Math.floor( cont.miny/​dheight);​ + var minpagey=Math.floor( cont.miny/​dheight);​ 
-if(cont.setup!=true)  + if(cont.setup!=true)  
-{  + {  
-cont.pages=[];​ + cont.pages=[];​ 
-for(x=0;​x<​Math.ceil(cont.maxx/​dwidth)-minpagex;​x++) + for(x=0;​x<​Math.ceil(cont.maxx/​dwidth)-minpagex;​x++) 
-+
-cont.pages[x]=[];​ + cont.pages[x]=[];​ 
-for(y=0;​y<​Math.ceil(cont.maxy/​dheight)-minpagey;​y++) + for(y=0;​y<​Math.ceil(cont.maxy/​dheight)-minpagey;​y++) 
-+
-cont.pages[x][y]=[];​ + cont.pages[x][y]=[];​ 
-+
-+
-for(x=0;​x<​items.length;​x++)  + for(x=0;​x<​items.length;​x++)  
-{  + {  
-var i=items.getAt(x);​ + var i=items.getAt(x);​ 
-var pinned=i.getProperties() .getString("​i.pinMode"​);​ + var pinned=i.getProperties() .getString("​i.pinMode"​);​ 
-if(pinned!="​XY"​) + if(pinned!="​XY"​) 
-+
-var data=new Object(); + var data=new Object(); 
-data.posx=i.getPositionX();​ + data.posx=i.getPositionX();​ 
-data.posy=i.getPositionY();​ + data.posy=i.getPositionY();​ 
-data.rot=Math.abs(i.getRotation())==90;​ + data.rot=Math.abs(i.getRotation())==90;​ 
-data.sx=data.rot?​i.getScaleX():​i.getScaleY();​ + data.sx=data.rot?​i.getScaleX():​i.getScaleY();​ 
-data.sy=data.rot?​i.getScaleY():​i.getScaleX();​ + data.sy=data.rot?​i.getScaleY():​i.getScaleX();​ 
-data.pin=pinned;​ + data.pin=pinned;​ 
-if(i.getProperties().getBoolean("​i.onGrid"​)) data.onGrid=true;​  + if(i.getProperties().getBoolean("​i.onGrid"​)) data.onGrid=true;​  
-else data.onGrid=false;​ + else data.onGrid=false;​ 
-i.getProperties().edit().setBoolean("​i.onGrid",​false).commit();​ + i.getProperties().edit().setBoolean("​i.onGrid",​false).commit();​ 
-if(pinned=="​X"​) + if(pinned=="​X"​) 
-+
-var ypages=cont.pages[Math.floor(data.posx/​dwidth)-minpagex][Math.floor(data.posy/​dheight)-minpagey];​ + var ypages=cont.pages[Math.floor(data.posx/​dwidth)-minpagex][Math.floor(data.posy/​dheight)-minpagey];​ 
-for(z=0;​cont.pages[z]!=null;​z++) + for(z=0;​cont.pages[z]!=null;​z++) 
-cont.pages[z][Math.floor(data.posy/​dheight)-minpagey].push(i.getId());​ + cont.pages[z][Math.floor(data.posy/​dheight)-minpagey].push(i.getId());​ 
-+
-else if(pinned=="​Y"​) + else if(pinned=="​Y"​) 
-+
-var xpages=cont.pages[Math.floor(data.posx/​dwidth)-minpagex];​ + var xpages=cont.pages[Math.floor(data.posx/​dwidth)-minpagex];​ 
-for(z=0;​z<​xpages.length;​z++) + for(z=0;​z<​xpages.length;​z++) 
-xpages[z].push(i.getId());​ + xpages[z].push(i.getId());​ 
-+
-else cont.pages[Math.floor(data.posx/​dwidth)-minpagex][Math.floor(data.posy/​dheight)-minpagey].push(i.getId());​ + else cont.pages[Math.floor(data.posx/​dwidth)-minpagex][Math.floor(data.posy/​dheight)-minpagey].push(i.getId());​ 
-i.setTag(JSON.stringify(data));​ + i.setTag(JSON.stringify(data));​ 
-+
-}  + }  
-cont.setup=true;​ + cont.setup=true;​ 
-Android.makeNewToast("​Animation enabled",​true).show();​ + Android.makeNewToast("​Animation enabled",​true).show();​ 
-LL.writeToLogFile(JSON.stringify(cont.pages),​false);​ + LL.writeToLogFile(JSON.stringify(cont.pages),​false);​ 
-}  + }  
-else + else 
-{  + {  
-var cellw=d.getCellWidth();​  + var cellw=d.getCellWidth();​  
-var cellh=d.getCellHeight();​ + var cellh=d.getCellHeight();​ 
-for(x=0;​x<​items.length;​x++)  + for(x=0;​x<​items.length;​x++)  
-{  + {  
-var i=items.getAt(x);​  + var i=items.getAt(x);​  
-var data=JSON.parse(i.getTag());​ + var data=JSON.parse(i.getTag());​ 
-i.setScale(1,​1);​ + i.setScale(1,​1);​ 
-if(data!=null&&​ data.onGrid==true)  + if(data!=null&&​ data.onGrid==true)  
-{  + {  
-iwidth=i.getWidth();​ + iwidth=i.getWidth();​ 
-iheight=i.getHeight();​  + iheight=i.getHeight();​  
-i.getProperties().edit().setBoolean("​i.onGrid",​true).commit();​  + i.getProperties().edit().setBoolean("​i.onGrid",​true).commit();​  
-i.setCell(Math.round(data.posx/​cellw),​Math.round(data.posy/​cellh),​Math.round((data.posx+iwidth)/​cellw),​Math.round(( data.posy+iheight)/​cellh));​  + i.setCell(Math.round(data.posx/​cellw),​Math.round(data.posy/​cellh),​Math.round((data.posx+iwidth)/​cellw),​Math.round(( data.posy+iheight)/​cellh));​  
-}   + }   
-}  + }  
-cont.setup=false;​ + cont.setup=false;​ 
-Android.makeNewToast("​Animation disabled",​true).show();​  + Android.makeNewToast("​Animation disabled",​true).show();​  
-}  + }  
-d.setTag(JSON.stringify(cont));​+ d.setTag(JSON.stringify(cont));​
 } }
  
Line 133: Line 134:
 if(((percentx>​0.005 && percentx<​99.995) ||(percenty>​0.005 && percenty<​99.995)) && dposx>​cont.minx-dwidth && dposy>​cont.miny-dheight) if(((percentx>​0.005 && percentx<​99.995) ||(percenty>​0.005 && percenty<​99.995)) && dposx>​cont.minx-dwidth && dposy>​cont.miny-dheight)
 { {
- var scrollLimit=d.getProperties() .getBoolean("​noScrollLimit"​);​ + var scrollLimit=d.getProperties() .getBoolean("​noScrollLimit"​);​ 
-if(dposx>​cont.maxx-dwidth&&​scrollLimit){ + if(dposx>​cont.maxx-dwidth&&​scrollLimit){ 
-d.setPosition(cont.minx-dwidth,​dposy,​1,​false);​ + d.setPosition(cont.minx-dwidth,​dposy,​1,​false);​ 
-+
-else if(dposy>​cont.maxy-dheight&&​scrollLimit) d.setPosition(dposx,​cont.miny-dheight,​1,​false);​ + else if(dposy>​cont.maxy-dheight&&​scrollLimit) d.setPosition(dposx,​cont.miny-dheight,​1,​false);​ 
-if(dposx<​cont.minx&&​scrollLimit) + if(dposx<​cont.minx&&​scrollLimit) 
-cont.statex=true;​ + cont.statex=true;​ 
-if(dposy<​cont.miny&&​scrollLimit) + if(dposy<​cont.miny&&​scrollLimit) 
-cont.statey=true;​ + cont.statey=true;​ 
- +  
-var items0=(cont.pages[(cont.statex?​maxpagex:​currentx)-minpagex]||[])[(cont.statey?​maxpagey:​currenty)-minpagey];​ + var items0=(cont.pages[(cont.statex?​maxpagex:​currentx)-minpagex]||[])[(cont.statey?​maxpagey:​currenty)-minpagey];​ 
-if(items0!=null) + if(items0!=null) 
-+
-for(z=0;​z<​items0.length;​z++) + for(z=0;​z<​items0.length;​z++) 
-+
-var item=LL.getItemById(items0[z]);​ + var item=LL.getItemById(items0[z]);​ 
-var data=JSON.parse(item.getTag());​ + var data=JSON.parse(item.getTag());​ 
-item.setScale(((data.pin=="​X"​||percentx>​=0.5||percenty>​=0.5)?​1:​data.rot?​1-percenty*2:​1-percentx*2)*data.sx,​ ((data.pin=="​Y"​||percentx>​=0.5||percenty>​=0.5)?​1:​1-(data.rot?​percentx:​percenty)*2)*data.sy);​ + item.setScale(((data.pin=="​X"​||percentx>​=0.5||percenty>​=0.5)?​1:​data.rot?​1-percenty*2:​1-percentx*2)*data.sx,​ ((data.pin=="​Y"​||percentx>​=0.5||percenty>​=0.5)?​1:​1-(data.rot?​percentx:​percenty)*2)*data.sy);​ 
-item.setPosition(data.pin=="​X"?​data.posx:​dposx+((data.posx%dwidth+dwidth)%dwidth)+percentx*(dwidth- ((data.posx%dwidth+dwidth)%dwidth)*2),​data.pin=="​Y"?​data.posy:​dposy+((data.posy%dheight+dheight)%dheight)+percenty*(dheight- ((data.posy%dheight+dheight)%dheight)*2));​ + item.setPosition(data.pin=="​X"?​data.posx:​dposx+((data.posx%dwidth+dwidth)%dwidth)+percentx*(dwidth- ((data.posx%dwidth+dwidth)%dwidth)*2),​data.pin=="​Y"?​data.posy:​dposy+((data.posy%dheight+dheight)%dheight)+percenty*(dheight- ((data.posy%dheight+dheight)%dheight)*2));​ 
-item.setVisibility((percentx<​0.5||data.pin=="​X"​)&&​(percenty<​0.5||data.pin=="​Y"​));​ + item.setVisibility((percentx<​0.5||data.pin=="​X"​)&&​(percenty<​0.5||data.pin=="​Y"​));​ 
-+
-+
-var items=(cont.pages[currentx+1-minpagex]||[])[(cont.statey?​maxpagey:​currenty)-minpagey];​ + var items=(cont.pages[currentx+1-minpagex]||[])[(cont.statey?​maxpagey:​currenty)-minpagey];​ 
-if(items!=null) + if(items!=null) 
-+
-for(z=0;​z<​items.length;​z++) + for(z=0;​z<​items.length;​z++) 
-+
-if(items0==null||items0.indexOf(items[z])==-1) + if(items0==null||items0.indexOf(items[z])==-1) 
-+
-var item=LL.getItemById(items[z]);​ + var item=LL.getItemById(items[z]);​ 
-var data=JSON.parse(item.getTag());​ + var data=JSON.parse(item.getTag());​ 
-item.setScale((data.pin=="​X"​||percentx<​0.5||percenty>​=0.5?​1:​data.rot?​1-percenty*2:​percentx>​0.005?​percentx*2-1:​1)*data.sx,​(data.pin=="​Y"​||percentx<​0.5||percenty>​=0.5?​1:​data.rot?​(percentx>​0.005?​percentx*2-1:​1):​1-percenty*2)*data.sy);​ + item.setScale((data.pin=="​X"​||percentx<​0.5||percenty>​=0.5?​1:​data.rot?​1-percenty*2:​percentx>​0.005?​percentx*2-1:​1)*data.sx,​(data.pin=="​Y"​||percentx<​0.5||percenty>​=0.5?​1:​data.rot?​(percentx>​0.005?​percentx*2-1:​1):​1-percenty*2)*data.sy);​ 
-item.setPosition(data.pin=="​X"?​data.posx:​dposx+dwidth/​2*(2-percentx*2)+ ((data.posx%dwidth+dwidth)%dwidth)*(percentx*2-1),​data.pin=="​Y"?​data.posy:​dposy+((data.posy%dheight+dheight)%dheight)+percenty*(dheight- ((data.posy%dheight+dheight)%dheight)*2));​ + item.setPosition(data.pin=="​X"?​data.posx:​dposx+dwidth/​2*(2-percentx*2)+ ((data.posx%dwidth+dwidth)%dwidth)*(percentx*2-1),​data.pin=="​Y"?​data.posy:​dposy+((data.posy%dheight+dheight)%dheight)+percenty*(dheight- ((data.posy%dheight+dheight)%dheight)*2));​ 
-item.setVisibility((percentx>​=0.5||data.pin=="​X"​)&&​(percenty<​0.5||data.pin=="​Y"​));​ + item.setVisibility((percentx>​=0.5||data.pin=="​X"​)&&​(percenty<​0.5||data.pin=="​Y"​));​ 
-+
-+
-+
-var items=(cont.pages[(cont.statex?​maxpagex:​currentx)-minpagex]||[])[currenty+1-minpagey];​ + var items=(cont.pages[(cont.statex?​maxpagex:​currentx)-minpagex]||[])[currenty+1-minpagey];​ 
-if(items!=null) + if(items!=null) 
-+
-for(z=0;​z<​items.length;​z++) + for(z=0;​z<​items.length;​z++) 
-+
-if(items0==null||items0.indexOf(items[z])==-1) + if(items0==null||items0.indexOf(items[z])==-1) 
-+
-var item=LL.getItemById(items[z]);​ + var item=LL.getItemById(items[z]);​ 
-var data=JSON.parse(item.getTag());​ + var data=JSON.parse(item.getTag());​ 
-item.setScale((data.pin=="​X"​||percentx>​=0.5||percenty<​0.5?​1:​data.rot?​(percenty>​0.005?​percenty*2-1:​1):​1-percentx*2)*data.sx,​(data.pin=="​Y"​|| percentx>​=0.5||percenty<​0.5?​1:​data.rot?​1-percentx*2:​percenty>​0.005?​percenty*2-1:​1)*data.sy);​ + item.setScale((data.pin=="​X"​||percentx>​=0.5||percenty<​0.5?​1:​data.rot?​(percenty>​0.005?​percenty*2-1:​1):​1-percentx*2)*data.sx,​(data.pin=="​Y"​|| percentx>​=0.5||percenty<​0.5?​1:​data.rot?​1-percentx*2:​percenty>​0.005?​percenty*2-1:​1)*data.sy);​ 
-item.setPosition(data.pin=="​X"?​data.posx:​dposx+((data.posx%dwidth+dwidth)%dwidth)+percentx*(dwidth- ((data.posx%dwidth+dwidth)%dwidth)*2),​data.pin=="​Y"?​data.posy:​dposy+dheight/​2*(2-percenty*2)+ ((data.posy%dheight+dheight)%dheight)*(percenty*2-1));​ + item.setPosition(data.pin=="​X"?​data.posx:​dposx+((data.posx%dwidth+dwidth)%dwidth)+percentx*(dwidth- ((data.posx%dwidth+dwidth)%dwidth)*2),​data.pin=="​Y"?​data.posy:​dposy+dheight/​2*(2-percenty*2)+ ((data.posy%dheight+dheight)%dheight)*(percenty*2-1));​ 
-item.setVisibility((percentx<​0.5||data.pin=="​X"​)&&​(percenty>​=0.5||data.pin=="​Y"​));​ + item.setVisibility((percentx<​0.5||data.pin=="​X"​)&&​(percenty>​=0.5||data.pin=="​Y"​));​ 
-+
-+
-}+ }
 } }
 else else
 { {
-d.setPosition(dposx,​dposy);​ + d.setPosition(dposx,​dposy);​ 
-d.setPosition(dposx<​cont.minx?​cont.maxx-dwidth:​dposx,​dposy<​cont.miny?​cont.maxy-dheight:​dposy,​1,​false);​ + d.setPosition(dposx<​cont.minx?​cont.maxx-dwidth:​dposx,​dposy<​cont.miny?​cont.maxy-dheight:​dposy,​1,​false);​ 
-cont.statex=false;​ + cont.statex=false;​ 
-cont.statey=false;​ + cont.statey=false;​ 
-for(i=0;​i<​items.length;​i++) + for(i=0;​i<​items.length;​i++) 
-+
-item=items.getAt(i);​ + item=items.getAt(i);​ 
-var data=JSON.parse(item.getTag());​ + var data=JSON.parse(item.getTag());​ 
-item.setScale(data.sx,​data.sy);​ + item.setScale(data.sx,​data.sy);​ 
-item.setPosition(data.posx,​data.posy);​ + item.setPosition(data.posx,​data.posy);​ 
-item.setVisibility(true);​ + item.setVisibility(true);​ 
-}+ }
 } }
 </​sxh>​ </​sxh>​
script_animation_flip.1405965316.txt.gz · Last modified: 2014/07/21 17:55 by lm13