js粒子系统源码Word格式.docx
- 文档编号:19988828
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:26
- 大小:34.14KB
js粒子系统源码Word格式.docx
《js粒子系统源码Word格式.docx》由会员分享,可在线阅读,更多相关《js粒子系统源码Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
,LEvent.ENTER_FRAME="
enter_frame"
LEvent.SOUND_COMPLETE="
sound_complete"
LEvent.END_CONTACT="
endContact"
LEvent.PRE_SOLVE="
preSolve"
LEvent.POST_SOLVE="
postSolve"
LEvent.BEGIN_CONTACT="
beginContact"
LEvent.currentTarget=null;
LEvent.addEventListener=function(n,t,f,b){if(b==null)b=false;
if(n.addEventListener){n.addEventListener(t,f,b);
}elseif(n.attachEvent){n["
e"
+t+f]=f;
n[t+f]=function(){n["
+t+f]();
n.attachEvent("
on"
+t,n[t+f]);
}};
varLMouseEvent=function(){throw"
LMouseEventcannotbeinstantiated"
LMouseEvent.MOUSE_DOWN="
mousedown"
LMouseEvent.MOUSE_UP="
mouseup"
LMouseEvent.TOUCH_START="
touchstart"
LMouseEvent.TOUCH_MOVE="
touchmove"
LMouseEvent.TOUCH_END="
touchend"
LMouseEvent.MOUSE_MOVE="
mousemove"
LMouseEvent.MOUSE_OUT="
mouseout"
LMouseEvent.DOUBLE_CLICK="
dblclick"
function$LMouseEventContainer(){vars=this;
s.dispatchAllEvent=false;
s.mouseDownContainer=[];
s.mouseUpContainer=[];
s.mouseMoveContainer=[];
s.textFieldInputContainer=[];
$LMouseEventContainer.prototype={pushInputBox:
function(d){vars=this,c=s.textFieldInputContainer;
for(vari=0,l=c.length;
i<
l;
i++){if(d.objectIndex==c[i].objectIndex)return;
}s.textFieldInputContainer.push(d);
},removeInputBox:
i++){if(d.objectIndex==c[i].objectIndex){s.textFieldInputContainer.splice(i,1);
break;
}}},addEvent:
function(o,list,f){vars=this;
if(s.hasEvent(o,list))return;
list.push({container:
o,listener:
f});
},removeEvent:
for(vari=0,l=list.length;
i++){if(list[i].container.objectIndex===o.objectIndex&
&
(!
f||list[i].listener==f)){list.splice(i,1);
}}},addMouseDownEvent:
function(o,f){vars=this;
s.addEvent(o,s.mouseDownContainer,f);
},addMouseUpEvent:
s.addEvent(o,s.mouseUpContainer,f);
},addMouseMoveEvent:
s.addEvent(o,s.mouseMoveContainer,f);
},addMouseEvent:
function(o,t,f){vars=this;
if(t==LMouseEvent.MOUSE_DOWN){s.addMouseDownEvent(o,f);
}elseif(t==LMouseEvent.MOUSE_UP){s.addMouseUpEvent(o,f);
}else{s.addMouseMoveEvent(o,f);
}},hasEvent:
function(o,list){for(vari=0,l=list.length;
i++){if(list[i].container.objectIndex===o.objectIndex)returntrue;
}returnfalse;
},removeMouseDownEvent:
s.removeEvent(o,s.mouseDownContainer,f);
},removeMouseUpEvent:
s.removeEvent(o,s.mouseUpContainer,f);
},removeMouseMoveEvent:
s.removeEvent(o,s.mouseMoveContainer,f);
},removeMouseEvent:
if(t==LMouseEvent.MOUSE_DOWN){s.removeMouseDownEvent(o,f);
}elseif(t==LMouseEvent.MOUSE_UP){s.removeMouseUpEvent(o,f);
}else{s.removeMouseMoveEvent(o,f);
}},dispatchMouseEvent:
function(event,type){vars=this;
if(type==LMouseEvent.MOUSE_DOWN){s.dispatchEvent(event,s.mouseDownContainer,LMouseEvent.MOUSE_DOWN);
s.dispatchEvent(event,s.textFieldInputContainer);
}elseif(type==LMouseEvent.MOUSE_UP){s.dispatchEvent(event,s.mouseUpContainer,LMouseEvent.MOUSE_UP);
}else{s.dispatchEvent(event,s.mouseMoveContainer,LMouseEvent.MOUSE_MOVE);
}},getRootParams:
function(s){varp=s.parent,r={x:
0,y:
0,scaleX:
1,scaleY:
1};
while(p!
="
root"
){r.x*=p.scaleX;
r.y*=p.scaleY;
r.x+=p.x;
r.y+=p.y;
r.scaleX*=p.scaleX;
r.scaleY*=p.scaleY;
p=p.parent;
}returnr;
},dispatchEvent:
function(event,list,type){varself=this,sp,co,st=[],o,i,l;
for(i=0,l=list.length;
i++){sp=list[i].container||list[i];
if(!
sp||(typeofsp.mouseChildren!
=UNDEFINED&
!
sp.mouseChildren)||!
sp.visible)continue;
varco=self.getRootParams(sp);
type&
sp.mouseEvent){sp.mouseEvent(event,LMouseEvent.MOUSE_DOWN,co);
continue;
}if(sp.ismouseon(event,co)){st.push({sp:
sp,co:
co,listener:
list[i].listener});
}}if(st.length==0)return;
if(st.length>
1){st=st.sort(self._sort);
}l=self.dispatchAllEvent?
st.length:
1;
for(i=0;
i++){o=st[i];
event.clickTarget=o.sp;
event.event_type=type;
event.selfX=(event.offsetX-o.co.x-o.sp.x)/(o.co.scaleX*o.sp.scaleX);
event.selfY=(event.offsetY-o.co.y-o.sp.y)/(o.co.scaleY*o.sp.scaleY);
o.listener(event);
}},set:
function(t,v){LGlobal.mouseEventContainer[t]=v;
},_sort:
function(a,b){vars=LMouseEventContainer,o1,o2,p;
varal=s._getSort(a.sp),bl=s._getSort(b.sp);
for(vari=0,l1=al.length,l2=bl.length;
l1&
l2;
i++){o1=al[i],o2=bl[i];
if(o1.objectIndex==o2.objectIndex){p=o1;
}returno1.parent.getChildIndex(o1)<
o2.parent.getChildIndex(o2);
}returnal.length<
bl.length;
},_getSort:
function(layer){varp=layer.parent,list=[layer];
){list.unshift(p);
}returnlist;
varLMouseEventContainer=new$LMouseEventContainer();
varLKeyboardEvent=function(){throw"
LKeyboardEventcannotbeinstantiated"
LKeyboardEvent.KEY_DOWN="
keydown"
LKeyboardEvent.KEY_UP="
keyup"
LKeyboardEvent.KEY_PASS="
keypass"
varLAccelerometerEvent=function(){throw"
LAccelerometerEventcannotbeinstantiated"
LAccelerometerEvent.DEVICEMOTION="
devicemotion"
varLMath={trim:
function(s){returns.replace(/(^\s*)|(\s*$)|(\n)/g,"
"
);
},leftTrim:
function(s){returns.replace(/(^\s*)|(^\n)/g,"
},rightTrim:
function(s){returns.replace(/(\s*$)|(\n$)/g,"
},numberFormat:
function(s,l){if(!
l||l<
1){l=3;
}s=String(s).split("
."
s[0]=s[0].replace(newRegExp('
(\\d)(?
=(\\d{'
+l+'
})+$)'
'
ig'
),"
$1,"
returns.join("
},isString:
function(s){varp=/^([a-z]|[A-Z])+$/;
returnp.exec(s);
},isNumber:
function(s){varp=/^\d+\.\d+$/;
},isInt:
function(s){varp=/^\d+$/;
functionLStageAlign(){throw"
LStageAligncannotbeinstantiated"
}LStageAlign.TOP="
T"
LStageAlign.BOTTOM="
B"
LStageAlign.LEFT="
L"
LStageAlign.RIGHT="
Re"
LStageAlign.TOP_LEFT="
TL"
LStageAlign.TOP_RIGHT="
TR"
LStageAlign.TOP_MIDDLE="
TM"
LStageAlign.BOTTOM_LEFT="
BL"
LStageAlign.BOTTOM_RIGHT="
BR"
LStageAlign.BOTTOM_MIDDLE="
BM"
LStageAlign.MIDDLE="
M"
functionLStageScaleMode(){throw"
LStageScaleModecannotbeinstantiated"
}LStageScaleMode.EXACT_FIT="
exactFit"
LStageScaleMode.SHOW_ALL="
showAll"
LStageScaleMode.NO_BORDER="
noBorder"
LStageScaleMode.NO_SCALE="
noScale"
varLGlobal=function(){throw"
LGlobalcannotbeinstantiated"
LGlobal.FULL_SCREEN="
full_screen"
LGlobal.type="
LGlobal"
LGlobal.traceDebug=false;
LGlobal.aspectRatio=NONE;
LGlobal.script=null;
LGlobal.stage=null;
LGlobal.canvas=null;
LGlobal.width=0;
LGlobal.height=0;
LGlobal.box2d=null;
LGlobal.speed=50;
LGlobal.IS_MOUSE_DOWN=false;
LGlobal.objectIndex=0;
LGlobal.preventDefault=true;
LGlobal.childList=newArray();
LGlobal.buttonList=newArray();
LGlobal.stageScale="
LGlobal.align="
LGlobal.canTouch=false;
LGlobal.os=OS_PC;
LGlobal.ios=false;
LGlobal.android=false;
LGlobal.android_new=false;
LGlobal.backgroundColor=null;
LGlobal.destroy=true;
LGlobal.devicePixelRatio=window.devicePixelRatio||1;
LGlobal.startTimer=0;
LGlobal.mouseEventContainer={};
LGlobal.keepClear=true;
(function(n){if(n.indexOf(OS_IPHONE)>
0){LGlobal.os=OS_IPHONE;
LGlobal.canTouch=true;
LGlobal.ios=true;
}elseif(n.indexOf(OS_IPOD)>
0){LGlobal.os=OS_IPOD;
}elseif(n.indexOf(OS_IPAD)>
0){LGlobal.os=OS_IPAD;
}elseif(n.indexOf(OS_ANDROID)>
0){LGlobal.os=OS_ANDROID;
LGlobal.android=true;
vari=n.indexOf(OS_ANDROID);
if(parseInt(n.substr(i+8,1))>
3){LGlobal.android_new=true;
}}})(navigator.userAgent);
LGlobal.setDebug=function(v){LGlobal.traceDebug=v;
LGlobal.setCanvas=function(id,w,h){LGlobal.id=id;
LGlobal.window=window;
LGlobal.object=document.getElementById(id);
LGlobal.object.innerHTML='
divstyle="
position:
absolute;
margin:
0px0px0px0px;
overflow:
visible;
-webkit-transform:
translateZ(0);
z-index:
0;
'
+'
canvasid="
+LGlobal.id+'
_canvas"
style="
width:
+w+'
px;
height:
+h+'
divid="
noCanvas"
+"
p>
Heythere,itlookslikeyou'
reusingMicrosoft'
sInternetExplorer.MicrosofthatestheWebanddoesn'
tsupportHTML5:
(<
/p>
/div>
/canvas>
_InputText"
10;
display:
none;
textarearows="
1"
id="
_InputTextareaBox"
resize:
background:
transparent;
border:
0px;
/textarea>
inputtype="
text"
_InputTextBox"
/>
password"
_passwordBox"
LGlobal.canvasObj=document.getElementById(LGlobal.id+"
LGlobal._canvas=document.createElement("
canvas"
LGlobal._context=LGlobal._canvas.getContext("
2d"
if(LGlobal._context){LGlobal.canvasObj.innerHTML="
}LGlobal.inputBox=document.getElementById(LGlobal.id+'
_InputText'
LGlobal.inputTextareaBoxObj=document.getElementById(LGlobal.id+'
_InputTextareaBox'
LGlobal.inputTextBoxObj=document.getElementById(LGlobal.id+'
_InputTextBox'
LGlobal.passwordBoxObj=document.getElementById(LGlobal.id+'
_passwordBox'
LGlobal.inputTextField=null;
if(w){LGlobal.canvasObj.width=w;
}if(h){LGlobal.canvasObj.height=h;
}LGlobal.width=LGlobal.canvasObj.width;
LGlobal.height=LGlobal.canvasObj.height;
LGlobal.canvas=LGlobal.canvasObj.getContext("
LGlobal.offsetX=0;
LGlobal.offsetY=0;
LGlobal.stage=newLSprite();
LGlobal.stage.parent="
LGlobal.childList.push(LGlobal.stage);
if(LSystem.sv==LStage.FULL_SCREEN){LGlobal.resize();
}if(LGlobal.canTouch){LEvent.addEventListener(LGlobal.canvasObj,LMouseEvent.TOUCH_START,function(event){if(LGlobal.inputBox.style.display!
=NONE){LGlobal.inputTextField.text=LGlobal.inputTextBox.value;
LGlobal.inputBox.style.display=NONE;
}varcanvasX=parseInt(STR_ZERO+LGlobal.object.style.left)+parseInt(LGlobal.canvasObj.style.marginLeft),canvasY=parseInt(STR_ZERO+LGlobal.object.style.top)+parseInt(LGlobal.canvasObj.style.marg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- js 粒子 系统 源码