Input在事件发生后,将光标(焦点?)放入接收用户输入的TextField 的最简单方法是什么?焦点管理器课程对我来说似乎总是很困惑.
假设我们在Flash库中有一个movieclip"Enemy",并且一个类"Enemy.as"与它相关联,它监听ENTER_FRAME事件,如下所示,
public function Enemy():void
{
//constructor of this "Enemy.as" class
addEventListener(Event.ENTER_FRAME, move);
}
private function move(evt:Event):void
{
x += 5;
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,如果这个"Enemy.as"在其他类中实例化说"Main.as",它再次在同一个实例化的Enemy对象上使用ENTER_FRAME事件,如下所示,
public function Main():void
{
//constructor of this "Main.as" class
enemy1 = new Enemy();
enemy1.addEventListener(Event.ENTER_FRAME, checkCollision);
}
private function checkCollision(evt:Event):void
{
if(enemy1.x == mainObj.x)
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
这是优化方面的好方法吗?或者根本不应该使用这种方法?
我试图用来strcmp比较存储在名为index的结构数组中的字符串.该索引包含一个名为webpage的字符串和一个名为rank的int.我们的想法是比较两个索引并创建第三个索引,其中包含前两个索引之间相同的网页以及它们各自排名的总和.
问题是,当我使用for循环查找索引之间类似页面的数量时,它总是返回7.它应该只返回4.我是否错误地使用了这个函数?
int thesame = 0;
for(i = 0; i < 8; i++) {
for(j = 0; j < 7; j++) {
if(strcmp(hotels[i].webpage,seattle[i].webpage) == 0) {
thesame++;
}
}
}
printf("%d\n", thesame);
return 0;
Run Code Online (Sandbox Code Playgroud)
我也明白,我有很多长度的硬编码值,这不是很好的编码实践.我计划在更改之前让程序正常工作.