refactor: 将纹理加载逻辑从update方法移至初始化方法
将纹理加载和设置操作从每帧执行的update方法移动到createImageSprite初始化方法中,避免每帧重复加载资源,提高运行效率。
This commit is contained in:
parent
3c0743eb64
commit
31e856f397
|
|
@ -14,18 +14,6 @@ public:
|
|||
|
||||
void update(float dt) override {
|
||||
Scene::update(dt);
|
||||
auto *rhiModule = RHIModule::get();
|
||||
if (!rhiModule || !rhiModule->getDevice()) {
|
||||
return;
|
||||
}
|
||||
auto assets = getAssets();
|
||||
if (!assets || !spriteRenderer_) {
|
||||
return;
|
||||
}
|
||||
auto texture = assets->load<Texture>("assets/test.png");
|
||||
if (texture.isValid()) {
|
||||
spriteRenderer_->setTexture(texture);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
@ -41,6 +29,9 @@ private:
|
|||
}
|
||||
|
||||
void createImageSprite() {
|
||||
auto assets = getAssets();
|
||||
auto texture = assets->load<Texture>("assets/test.png");
|
||||
|
||||
auto spriteNode = makePtr<Node>();
|
||||
spriteNode->setName("ImageSprite");
|
||||
spriteNode->setPosition(640.0f, 360.0f);
|
||||
|
|
@ -48,6 +39,9 @@ private:
|
|||
spriteRenderer_ = makePtr<SpriteRenderer>();
|
||||
spriteNode->addComponent(spriteRenderer_);
|
||||
addChild(spriteNode);
|
||||
if (texture.isValid()) {
|
||||
spriteRenderer_->setTexture(texture);
|
||||
}
|
||||
}
|
||||
Ptr<SpriteRenderer> spriteRenderer_;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue