《我的世界》(Minecraft)是一款沙盒类电子游戏,开创者为马库斯·阿列克谢·泊松(Notch)。游戏由MojangStudios维护,现隶属于微软Xbox游戏工作室。游戏最初于2009年5月17日作为Classic版本发布,并于2011年11月18日发布Java正式版。我的世界的游戏平台囊括桌面设备、移动设备和游戏主机。中国版现由网易游戏代理[26],于2016年5月20日在中国大陆运营。
自开创伊始到延斯·伯根斯坦(Jeb)加入并负责开发之前,我的世界几乎全部的开发工作由Notch完成。游戏音乐由丹尼尔·罗森菲尔德(C418)和莉娜·雷恩(LenaRaine)创作;克里斯托弗·泽特斯特兰绘制了游戏中的画。
该游戏以玩家在一个充满着方块的三维空间中自由地创造和破坏不同种类的方块为主题。玩家在游戏中可以在单人或多人模式中通过摧毁或创造精妙绝伦的建筑物和艺术,或者收集物品探索地图以完成游戏的成就(进度)。玩家也可以尝试在创造模式下(打开作弊)红石电路和指令等玩法。方法/步骤
1、在本地新建一个文件夹,作为本地仓库,如“demo”。打开git,输入命令:
cd /c/Users/Administrator/Desktop/demo 然后按回车键进入到该文件夹目录下,
2、第二步:将本地仓库初始化,命令:git init 如下图:
3、第三步:将你需要的项目从github或者服务器上克隆下来,命令:git clone url url为项目服务器地址或github地址,我这里以克隆github上的PHPMailer项目为例子,如下图所示:
4、看到上面显示100%就克隆好了 现在看看克隆的项目从 QTreeWidgetItem 类的继承关系来看,它是继承自 QObject 类的。而 type() 方法是 QObject 类的一个虚函数,因此在 QTreeWidgetItem 类中并没有直接提供设置类型的方法。
那么,如何在克隆出的节点中设置类型呢?可以通过重新实现 clone() 方法来实现。
示例代码如下:
class CustomTreeWidgetItem: public QTreeWidgetItem {
public:
CustomTreeWidgetItem(const CustomTreeWidgetItem& other): QTreeWidgetItem(other) {
setType(othertype());
}
CustomTreeWidgetItem(QTreeWidgetItem parent, int type = Type): QTreeWidgetItem(parent, type) {}
QTreeWidgetItem clone() const override {
return new CustomTreeWidgetItem(this);
}
void setType(int type) {
QTreeWidgetItem::setType(type);
}
};
在上述代码中,我们新建了一个 CustomTreeWidgetItem 类,它继承自 QTreeWidgetItem 类,并重写了 clone() 方法。在重新实现 clone() 方法时,我们创建了一个 CustomTreeWidgetItem 类型的新节点,并将重载后的 setType() 方法用于设置节点的类型。这样,在调用 clone() 方法获得克隆节点后,就可以通过 setType() 方法设置节点的类型了。
使用方法如下:
QTreeWidgetItem item = new QTreeWidgetItem();
item->setType(QTreeWidgetItem::UserType + 1); // 设置类型为 UserType + 1
QTreeWidgetItem clonedItem = item->clone(); // 克隆节点
dynamic_cast<CustomTreeWidgetItem>(clonedItem)->setType(QTreeWidgetItem::UserType + 2); // 设置克隆出来的节点的类型为 UserType + 2
在上述代码中,我们首先创建了一个类型为 UserType + 1 的 QTreeWidgetItem 节点,并将其克隆出来。然后,我们通过 dynamic_cast 将 clonedItem 转换为 CustomTreeWidgetItem 类型,再使用 setType() 方法将其类型设置为 UserType + 2。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)