追踪效果实现方法1
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-13
his); propList=new Object(); for (var i in defaultPropList){ propList[i]=defaultPropList[i]; } mlist=new Array(); totalWeight=0; } /** * overWritten * create a impulser. * @return impulser implemented ’xp.events.Broadcaster’ interface. * 生成一个触发器,定时调用callChase函数,默认生成的impulser每帧调用1次callChase,子类可以覆盖此函数。 */ function createImpulser():Object{ return xp.system.Broadcaster.createAutoBroadcaster("callChase",2); } /** * add a property to chase * @param n String property name * 添加一个被追踪的属性 */ function addProp(n:String){ propList[n]=1; } /** * delete a property to chase * @param n String property name * 删除一个被追踪的属性 */ function delProp(n:String){ delete propList[n]; } /** * add another target to chase,optionally specifying a weight value for calculating chasing result. * @param m MovieClip instance to chase. * @param w weight. * 添加一个被追踪的目标。 */ function addTarget(m:MovieClip,w:Number){ if (!m) return; if (w==undefined || isNaN(w)) w=1; //push instance to queue,& remember its position. m.__chaser__id__=mlist.push({w:w,ins:m})-1; totalWeight+=w; } /** * delete a target. * @param p could be MC reference or id. * @return Boolean * 删除一个被追踪的目标 */ function delTarget(p):Boolean{ var id:Number=undefined; if (!isNaN(p)) id=Number(p); else id=p["__chaser__id__"]; if (id==undefined) return false; mlist.split(id); for (var i : Number = id; i < mlist.length; i++) { mlist[i]["__chaser__id__"]=i; } return true; } /** * invoked by impulser * broadcast ’onChase’ event * 由impulser定时触发,计算追踪数值并调用用户定义的onChase函数。 */ function callChase(){ var eo=calculateChase(); //subclass implement onChase by get/set function !! this.onChase(eo); } /** * abstract function * overWritten by user defined function. * 由用户覆盖此函数。 * @param eo 属性集合,包含所有propList中列出的属性。 */ function onChase(eo){ } /** * overWritten * * 计算追踪的数据,子类应该覆盖此函数以实现更多的追踪效果(例如colorTransfrom,或瞄准目标的角度和距离等) * 计算追踪目标的加权平均值,保存到eo对象中并返回此对象。 * @return Object containing infomation of targets.this object will be used as ’eo’ parameter for ’onChase’ function. * */ function calculateChase():Object{ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 一个猜球游戏下一篇: 脚本控制的鼠标弹性指针效果
关于追踪效果实现方法1的所有评论