refactor: 将纹理加载逻辑从update方法移至初始化方法

将纹理加载和设置操作从每帧执行的update方法移动到createImageSprite初始化方法中,避免每帧重复加载资源,提高运行效率。
This commit is contained in:
ChestnutYueyue 2026-03-16 21:25:25 +08:00
parent 3c0743eb64
commit 31e856f397
1 changed files with 6 additions and 12 deletions

View File

@ -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_;
};