首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Angelscript访问Array元素?

如何使用Angelscript访问Array元素?
EN

Stack Overflow用户
提问于 2018-04-03 19:04:04
回答 2查看 246关注 0票数 0

我试图为我正在创建的游戏创建一个简单的库存系统。清单需要清单中每个项目的2条信息,“项目名称”和“项目描述”。

我从Angelscript网站上读到的信息说

一个字符串数组,每个字符串包含2个元素。

显然,这是通过使用

代码语言:javascript
复制
string[] inventory(2); 

这是什么意思2元素?

如何访问数组中的这两个元素?

下面的代码看起来很有效,但并没有达到我预期的效果。

代码语言:javascript
复制
void Inventory(string item, string description) {
string[] inventory(2); // an array of string with 2 elements each. 

inventory.insertLast(item); // item name

inventory.insertLast(description); //item description

print("ID:"+ inventory[1]);
print("ID:"+ inventory[2]);
print("ID:"+ inventory[3]);
}

Inventory("gold_key",item);

输出

代码语言:javascript
复制
ID:
ID:gold_key
ID:Use this gold key to unlock a gold door.
EN

回答 2

Stack Overflow用户

发布于 2018-10-09 07:50:22

我不确定您想要这样做,但是可以使用arr_nameindex来访问数组。索引以0开头。例如:

代码语言:javascript
复制
{
    string[] inventory(2);
    inventory[0] = "aaa";
    inventory[1] = "bbb";
    cout << "inventory include" << inventory[0] << "and" << inventory[1] << endl;
}
票数 0
EN

Stack Overflow用户

发布于 2019-08-16 18:31:02

您的代码执行以下操作:创建一个包含两个空字符串的字符串数组。添加另外两个元素,以insertLast结束数组。在此之后,第二、第三和第四元素被取消引用和打印。

它没有做您期望的事情,因为: 1)它不是一个包含两个项的字符串数组,而是一个包含两个项的字符串数组。2)在数组的末尾,在两个空字符串之后添加项和描述。3)索引从第一个元素的0开始。

如果您真的想要一个二维数组,请尝试如下:

代码语言:javascript
复制
array<array<string>> inventory;
array<string> elem = {item, description};
inventory.insertLast(elem);
cout << inventory[0][0] << „: “ << inventory[0][1] << endl;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49637401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档