本文整理汇总了C++中Quest::get_sprite_path方法的典型用法代码示例。如果您正苦于以下问题:C++ Quest::get_sprite_path方法的具体用法?C++ Quest::get_sprite_path怎么用?C++ Quest::get_sprite_path使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Quest
的用法示例。
在下文中一共展示了Quest::get_sprite_path方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: open_resource
/**
* @brief Shows a tab to edit the specified resource element.
* @param quest A Solarus quest.
* @param resource_type A type of resource.
* @param id Id of the resource element to open in this quest.
*/
void EditorTabs::open_resource(
Quest& quest, ResourceType resource_type, const QString& id) {
switch (resource_type) {
case ResourceType::MAP:
// Open the map data file.
open_map_editor(quest, quest.get_map_data_file_path(id));
break;
case ResourceType::TILESET:
// Open the tileset data file.
open_tileset_editor(quest, quest.get_tileset_data_file_path(id));
break;
case ResourceType::LANGUAGE:
// Open the dialogs file.
open_dialogs_editor(quest, id);
break;
case ResourceType::SPRITE:
// Open the sprite file.
open_sprite_editor(quest, quest.get_sprite_path(id));
break;
case ResourceType::ITEM:
// Open the item script.
open_text_editor(quest, quest.get_item_script_path(id));
break;
case ResourceType::ENEMY:
// Open the enemy script.
open_text_editor(quest, quest.get_enemy_script_path(id));
break;
case ResourceType::ENTITY:
// Open the custom entity model script.
open_text_editor(quest, quest.get_entity_script_path(id));
break;
case ResourceType::MUSIC:
case ResourceType::SOUND:
case ResourceType::FONT:
// These resource types cannot be edited.
break;
}
}
示例2: EditorException
/**
* @brief Creates a sprite model.
* @param quest The quest.
* @param sprite_id Id of the sprite to manage.
* @param parent The parent object or nullptr.
* @throws EditorException If the file could not be opened.
*/
SpriteModel::SpriteModel(
Quest& quest,
const QString& sprite_id,
QObject* parent) :
QAbstractItemModel(parent),
quest(quest),
sprite_id(sprite_id),
selection_model(this) {
// Load the sprite data file.
QString path = quest.get_sprite_path(sprite_id);
if (!sprite.import_from_file(path.toStdString())) {
throw EditorException(tr("Cannot open sprite '%1'").arg(path));
}
// Build the index map of animations.
build_index_map();
// Create animations and directions models.
for (const auto& kvp : names_to_indexes) {
const QString& animation_name = kvp.first;
AnimationModel animation(animation_name);
int num_dir = get_animation(animation_name).get_num_directions();
for (int nb = 0; nb < num_dir; nb++) {
animation.directions.append(DirectionModel(animation_name, nb));
}
animations.append(animation);
}
// use the first tileset of the quest
QStringList tilesets =
quest.get_resources().get_elements(ResourceType::TILESET);
if (tilesets.size() > 0) {
tileset_id = tilesets[0];
}
}