Flutter 和 Flame - 无法将视差效果分开 class [Flutter 新手]
Flutter and Flame - Unable to move parallax effect to separate class [New to flutter]
我正在尝试开发一个带有 flutter 和 flame 的小型 2d 平台游戏,但我已经受困于重构我的代码....
我想把尽可能多的东西放在单独的 classes 中,还有背景(视差效果)。这是我的主文件的一部分,其中包含效果。
class PlatformGame extends BaseGame with TapDetector {
Player _player;
ParallaxComponent _parallaxComponent;
Size screenSize;
double tileSize;
PlatformGame() {
_parallaxComponent = ParallaxComponent(
[
ParallaxImage('bg/bg1.png', fill: LayerFill.height),
ParallaxImage('bg/bg2.png'),
ParallaxImage('bg/bg3.png'),
ParallaxImage('bg/bg4.png'),
ParallaxImage('bg/bg5.png'),
ParallaxImage('bg/bg6.png', fill: LayerFill.none),
],
baseSpeed: Offset(100, 0),
layerDelta: Offset(20, 0),
);
add(_parallaxComponent);
_player = Player();
add(_player);
}
}
我试图创建一个名为 'background' 的新 class 并将所有代码移到其中。
class Background extends ParallaxComponent {
Background(List<ParallaxImage> images) : super(images) {
//Here should be the Images for the parallax
}
}
但我被困在那里了。无论我尝试什么,我总是会出错。显然,我无法正确处理构造函数。我读了很多书,但没有任何想法。有人可以帮我吗?
播放器位于单独的 class 中并且工作正常。
谢谢
马丁
你可以这样写你的 class :
class Background extends ParallaxComponent {
Background(List<ParallaxImage> images)
: super(images, baseSpeed: Offset(100, 0), layerDelta: Offset(20, 0));
}
我正在尝试开发一个带有 flutter 和 flame 的小型 2d 平台游戏,但我已经受困于重构我的代码....
我想把尽可能多的东西放在单独的 classes 中,还有背景(视差效果)。这是我的主文件的一部分,其中包含效果。
class PlatformGame extends BaseGame with TapDetector {
Player _player;
ParallaxComponent _parallaxComponent;
Size screenSize;
double tileSize;
PlatformGame() {
_parallaxComponent = ParallaxComponent(
[
ParallaxImage('bg/bg1.png', fill: LayerFill.height),
ParallaxImage('bg/bg2.png'),
ParallaxImage('bg/bg3.png'),
ParallaxImage('bg/bg4.png'),
ParallaxImage('bg/bg5.png'),
ParallaxImage('bg/bg6.png', fill: LayerFill.none),
],
baseSpeed: Offset(100, 0),
layerDelta: Offset(20, 0),
);
add(_parallaxComponent);
_player = Player();
add(_player);
}
}
我试图创建一个名为 'background' 的新 class 并将所有代码移到其中。
class Background extends ParallaxComponent {
Background(List<ParallaxImage> images) : super(images) {
//Here should be the Images for the parallax
}
}
但我被困在那里了。无论我尝试什么,我总是会出错。显然,我无法正确处理构造函数。我读了很多书,但没有任何想法。有人可以帮我吗?
播放器位于单独的 class 中并且工作正常。
谢谢 马丁
你可以这样写你的 class :
class Background extends ParallaxComponent {
Background(List<ParallaxImage> images)
: super(images, baseSpeed: Offset(100, 0), layerDelta: Offset(20, 0));
}