请教高手AS3使用键盘控制元件移动,出现堆栈溢出错误。代码如下:
-
package { import flash.display.MovieClip; import flash.events.Event; import flash.events.FocusEvent; import flash.events.KeyboardEvent; /** * ... * @author */ public class Player extends MovieClip { public var HP:Number; pr... package { import flash.display.MovieClip; import flash.events.Event; import flash.events.FocusEvent; import flash.events.KeyboardEvent; /** * ... * @author */ public class Player extends MovieClip { public var HP:Number; private const speed:Number=6; var leftArrow:Boolean=false; var rightArrow:Boolean=false; var upArrow:Boolean=false; var downArrow:Boolean=false; var p:MovieClip; public function Player() { init(); } private function init() { p=new Player ; addChild(p); stage.addEventListener(KeyboardEvent.KEY_DOWN,keypressedDown); stage.addEventListener(KeyboardEvent.KEY_UP,keypressedUp); stage.addEventListener(Event.ENTER_FRAME, pMove); stage.addEventListener(Event.DEACTIVATE, miss); } function keypressedDown(e:KeyboardEvent) { switch(e.keyCode) { case 37: leftArrow = true; break; case 39: rightArrow = true; break; case 38: upArrow = true; break; case 40: downArrow = true; break; default: break; } } function keypressedUp(e:KeyboardEvent) { switch(e.keyCode) { case 37: leftArrow = false; break; case 39: rightArrow = false; break; case 38: upArrow = false; break; case 40: downArrow = false; break; default: break; } } function pMove(e:Event) { if (leftArrow&&!rightArrow) { if (0<=p.x) { p.x-=speed; } } else if (rightArrow&&!leftArrow) { if (stage.width-20-p.width>=p.x) { p.x+=speed; } } else if (upArrow&&!downArrow) { if (p.y>=0) { p.y-=speed; } } else if (downArrow&&!upArrow) { if (p.y<=stage.height-20-p.height) { p.y+=speed; } } } function miss(e:Event) { leftArrow = false; rightArrow = false; upArrow = false; downArrow = false; } } } 展开
全部评论(0条)
热门问答
- 请教高手AS3使用键盘控制元件移动,出现堆栈溢出错误。代码如下:
- package { import flash.display.MovieClip; import flash.events.Event; import flash.events.FocusEvent; import flash.events.KeyboardEvent; /** * ... * @author */ public class Player extends MovieClip { public var HP:Number; pr... package { import flash.display.MovieClip; import flash.events.Event; import flash.events.FocusEvent; import flash.events.KeyboardEvent; /** * ... * @author */ public class Player extends MovieClip { public var HP:Number; private const speed:Number=6; var leftArrow:Boolean=false; var rightArrow:Boolean=false; var upArrow:Boolean=false; var downArrow:Boolean=false; var p:MovieClip; public function Player() { init(); } private function init() { p=new Player ; addChild(p); stage.addEventListener(KeyboardEvent.KEY_DOWN,keypressedDown); stage.addEventListener(KeyboardEvent.KEY_UP,keypressedUp); stage.addEventListener(Event.ENTER_FRAME, pMove); stage.addEventListener(Event.DEACTIVATE, miss); } function keypressedDown(e:KeyboardEvent) { switch(e.keyCode) { case 37: leftArrow = true; break; case 39: rightArrow = true; break; case 38: upArrow = true; break; case 40: downArrow = true; break; default: break; } } function keypressedUp(e:KeyboardEvent) { switch(e.keyCode) { case 37: leftArrow = false; break; case 39: rightArrow = false; break; case 38: upArrow = false; break; case 40: downArrow = false; break; default: break; } } function pMove(e:Event) { if (leftArrow&&!rightArrow) { if (0<=p.x) { p.x-=speed; } } else if (rightArrow&&!leftArrow) { if (stage.width-20-p.width>=p.x) { p.x+=speed; } } else if (upArrow&&!downArrow) { if (p.y>=0) { p.y-=speed; } } else if (downArrow&&!upArrow) { if (p.y<=stage.height-20-p.height) { p.y+=speed; } } } function miss(e:Event) { leftArrow = false; rightArrow = false; upArrow = false; downArrow = false; } } } 展开
- AS3如何控制元件消失和出现?
- 如场景中有一个元件,点击场景这个元件就消失,再点击元件又出现。
- flash 用代码控制元件移动
- 做了一个影片剪辑,希望通过AS代码来控制这个影片剪辑的位置,并实现当点击一个按钮时,该影片剪辑发生位置的移动。 注意:是移动而不是改变,是有移动效果,而不是一下子就跳到另一个位置了。 用_x和_y可以实现瞬间改变位置,但是如何做出移动效果,还有请教... 做了一个影片剪辑,希望通过AS代码来控制这个影片剪辑的位置,并实现当点击一个按钮时,该影片剪辑发生位置的移动。 注意:是移动而不是改变,是有移动效果,而不是一下子就跳到另一个位置了。 用_x和_y可以实现瞬间改变位置,但是如何做出移动效果,还有请教一下,谢谢! 展开
- as3控制元件坐标
- 我想让一个影片剪辑跟随鼠标移动 影片剪辑我已经做好了,实例名为d
- as2.0键盘控制元件
- flash 动画上有个元件,实例名称为a。如何用as2.0脚本实现按住a键元件持续左移,松开a键元件停止移动?
- flash键盘控制影片元件移动代码问题
- 我已经能使用键盘上下左右键控制影片元件(一个走路的人)移动了,但是还想实现向左移动的时候人面向左,向右移动的时候人面向右(而不是倒退),停止的时候替换一个人脸向外的影片元件。请问代码(AS3.0)怎么做到呢?是要建两个影片剪辑元件替换呢?还是通过... 我已经能使用键盘上下左右键控制影片元件(一个走路的人)移动了,但是还想实现向左移动的时候人面向左,向右移动的时候人面向右(而不是倒退),停止的时候替换一个人脸向外的影片元件。请问代码(AS3.0)怎么做到呢?是要建两个影片剪辑元件替换呢?还是通过同一个元件垂直旋转?求fla~~~ 展开
- flash用键盘控制小球元件移动的代码
- 请教PCR高手解答电泳结果,分析错误原因
- FLASH如何使用脚本控制元件移动和大小变化?
- 本人菜鸟
- c++程序运行时出现abnormal program termination编译没有错代码如下
- #include
#include #include #include using namespace std; int main() { string M; string P; string FCS; string MTemp; ifstream MFile("F:\\学习事宜\\大二\\计算机网络\\CRC\\input_M.txt"); if... #include #include #include #include using namespace std; int main() { string M; string P; string FCS; string MTemp; ifstream MFile("F:\\学习事宜\\大二\\计算机网络\\CRC\\input_M.txt"); ifstream PFile("F:\\学习事宜\\大二\\计算机网络\\CRC\\input_P.txt"); ofstream FCSFile("F:\\学习事宜\\大二\\计算机网络\\CRC\\output_FCS.txt"); getline(MFile, M); getline(PFile, P); MTemp=M; MTemp.append(P.length()-1,'0'); for(unsigned int i=0; i<=MTemp.length()-P.length();i++) { if(MTemp[i]=='0') continue; string MSubTemp=MTemp.substr(i, P.length()); for(unsigned int j=0;j 2015-06-16 19:13:28 318 1
- c++和Java 堆栈比较 求高手分析。。。。。
- C++primer: Sales_item myobj=Sales_item( ); //在Java中,相当于Sales_item myobj=new Sales_item( ); 只为它在堆中分配了1块内存空间,再在栈中分配一小块内存空间存放地址,指向堆中那片空间 在C++中是怎么样的。。。??
- 用作串口数据采集的VB程序,出现“数据溢出”和“下标越界”的错误
- 程序不是自己写的,是机器自带的,存在很多问题,据我的了解1.当某个值低于0或者大于32就会“溢出”2.在数据采集过程(将数值写入txt)一段时间后,一定会出现3.在数据监视过程(... 程序不是自己写的,是机器自带的,存在很多问题,据我的了解 1.当某个值低于0或者大于32就会“溢出” 2.在数据采集过程(将数值写入txt)一段时间后,一定会出现 3.在数据监视过程(不写入,仅查看),不定时出现溢出 实在是不懂vb,想找大神帮帮忙啊~ 展开
- flash按钮如何控制元件的移动
- 按钮每点一下,一个元件就会移动一段距离 要求在按钮上编写如何实现 每次我用this._y+=20就连按钮一起移动了,求高人解答!!! 急用!!!
- FLASH中怎么让键盘控制元件行走、跳?
- FLASH中怎么让键盘控制元件行走、跳? 怎么设置行走地面?
- 薄膜键盘出现的时间
- 薄膜键盘出现的时间
- 请教:耐药试验的如下疑惑.
- 这是从某微生物刊物上摘录的部分由于有不解之处望赐教,以下是摘录部分:"先测定细菌对某一种药物的MIC值和YJ圈直径,如4mg/L,然后在肉汤培养集中加入1mg/L药物浓度的某一KJ药物,... 这是从某微生物刊物上摘录的部分由于有不解之处望赐教,以下是摘录部分: " 先测定细菌对某一种药物的MIC值和YJ圈直径,如4mg/L,然后在肉汤培养集中加入1mg/L药物浓度的某一KJ药物,接种细菌进行增菌培养,第二天将肉汤中的细菌在平皿上划线纯分,做药敏试验看看YJ圈直径是否变小,如无,则需要继续重复操作,直到YJ圈直径变小,然后挑取YJ圈直径变小的细菌接种到含2mg/L的肉汤中增菌培养,以此类推,直至诱导到耐药。 做这个实验要有耐心,不是诱导一两次就成功的,可能需要几十次,也可能诱导失败。" 上述是摘录的部分,这是设置的一个耐药试验的给药梯度,在此本人不解的是diyi次做Z低浓度的耐药试验后,怎么就做药敏?如要做药敏那必须求出有效的仰菌圈作对照才行(上述只有:某一种药物的MIC值和YJ圈直径,如4mg/L), 另外每次耐药试验后是否要重新配制肉汤培养基及挑取前试验后的菌落在新的肉汤培养基上(实际上前培基就作废)?谢谢赐教. 展开
- 离心机错误使用
- ipc$连接出现错误53
- 1.对方ip地址肯定正确 2.都开启了lanmanserver 3.关闭了防火墙 4.都有ipc$ 为什么还是出现了错误53啊。。求解释。。。
- 软件安装出现数据库错误
- 因为开学要考计算机二级所以要安装一个VB练习软件安装完打开解就出现系统数据库出现错误不能正常运行应该不是软件本身的问题因为其他人都能安装上也不该是安装程序的问题哪位高手帮帮... 因为开学要考计算机二级所以要安装一个VB练习软件 安装完打开解就出现系统数据库出现错误 不能正常运行 应该不是软件本身的问题 因为其他人都能安装上 也不该是安装程序的问题 哪位高手帮帮忙~~~~~ 展开
- 超级电容器使用不当会出现什么问题?比如击穿 急啊!请教高手指点
5月突出贡献榜
推荐主页
最新话题
-
- #DeepSeek如何看待仪器#
- 干体炉技术发展与应用研究
- 从-70℃到150℃:一台试验箱如何终结智能...从-70℃到150℃:一台试验箱如何终结智能调光膜失效风险?解决方案:SMC-210PF-FPC温湿度折弯试验箱的五大核心价值1. 多维度环境模拟,覆盖全生命周期测试需求超宽温域:支持-70℃至+150℃的极限温度模拟(可选配),复现材料在极寒、高温、冷热冲击下的性能表现;控湿:湿度范围20%~98%RH(精度±3%RH),模拟热带雨林、沙漠干燥等复杂工况,暴露材料吸湿膨胀、分层缺陷;动态折弯:0°~180°连续可调折弯角度,支持R1~R20弯曲半径设定,模拟实际装配中的微小应力,提前预警裂纹、断裂风险。
参与评论
登录后参与评论