这是我的代码:
@Override
public void resize(int width, int height) {
super.resize(width, height);
stage.clear();
// background image
Image backImage = new Image(backTexture);
backImage.setX(0);
backImage.setY(0);
backImage.setWidth(800);
backImage.setHeight(480);
// start game image
Image startImage = new Image(startTexture);
startImage.setX(415);
startImage.setY(180);
startImage.setWidth(323);
startImage.setHeight(69);
stage.addActor(backImage);
stage.addActor(startImage);
}
Run Code Online (Sandbox Code Playgroud)
我正在创建简单的游戏,这就是我创建主菜单的方式.我想让我的startImage可触摸(可点击),因为Image类没有可用的监听器.我该怎么做?或者使用ImageButton更好吗?这样我就不得不创建图像图集,这对我来说似乎有点复杂.
编辑:我试过以下:
startImage.addListener(new ClickListener() {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button)
{
game.setScreen(new SplashScreen(game));
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作..
编辑:
Gdx.input.setInputProcessor(stage);
Run Code Online (Sandbox Code Playgroud)
需要被召唤.解决了.
全新的材 根据预览SDK文档elevation,新SDK 中将提供属性.但是,现在有什么方法可以达到类似的效果吗?

我正在使用Perl中的一个小脚本,我在命令行中遇到参数问题.我正在使用GetOps来解析它们,如下面的代码所示:
%params = (
"help" => "",
"no_inline" => "",
"no_dupl" => ""
);
¶mError if (!GetOptions(
"help" => \$params{"help"},
"no-inline" => \$params{"no_inline"},
"no-duplicates" => \$params{"no_dupl"},
));
Run Code Online (Sandbox Code Playgroud)
然后我像这样运行脚本:
> script.pl --no-inline # ok, valid parameter
> script.pl --no-inline blahblah # blahblah is not valid
> script.pl --no-i # not valid
Run Code Online (Sandbox Code Playgroud)
问题是,在第二个和第三个示例中,GetOps表示参数有效.我该怎么办才能使这些参数无效?
class Method {
public:
virtual void Rum();
};
class Euler : public Method {
virtual void Rum() {
printf("ahoj\n");
}
};
class Kutta : public Method {
virtual void Rum() {
printf("ahoj2\n");
}
};
class Simulator {
public:
Method *pointer;
Simulator();
void setmethod(Method m) { pointer = &m; }
};
int main() {
Simulator s;
s.setmethod(new Kutta());
s.pointer->Rum();
s.setmethod(new Euler());
s.pointer->Rum();
}
Run Code Online (Sandbox Code Playgroud)
我希望这个例子足够好理解。我试图应用继承原则,但我得到了这些错误:(OOP 的东西在我的脑海中似乎有点混乱)
prog.cpp: In function ‘int main()’:
prog.cpp:26: error: no matching function for call to ‘Simulator::setmethod(Kutta*)’
prog.cpp:21: note: …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一些使用继承类的重载算术运算符,如下所示:
class Block {
public:
Block() {}
virtual double Value() {};
};
class Constant : public Block {
public:
Constant(double v) { value = v; }
virtual double Value() { return value; }
private:
double value;
};
class Add : public Block {
public:
Add(Block &a, Block &b) { value1 = &a; value2 = &b; }
virtual double Value() { return value1->Value() + value2->Value(); }
private:
Block *value1;
Block *value2;
};
Block operator + (Block &a, Block &b) {
return …Run Code Online (Sandbox Code Playgroud)