当前位置: 首页>>代码示例>>C++>>正文


C++ HBoxContainer::set_opacity方法代码示例

本文整理汇总了C++中HBoxContainer::set_opacity方法的典型用法代码示例。如果您正苦于以下问题:C++ HBoxContainer::set_opacity方法的具体用法?C++ HBoxContainer::set_opacity怎么用?C++ HBoxContainer::set_opacity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HBoxContainer的用法示例。


在下文中一共展示了HBoxContainer::set_opacity方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: get_drag_data_fw

Variant SceneTreeEditor::get_drag_data_fw(const Point2& p_point,Control* p_from) {
	if (!can_rename)
		return Variant(); //not editable tree

	Vector<Node*> selected;
	Vector<Ref<Texture> > icons;
	TreeItem *next=tree->get_next_selected(NULL);
	while (next) {

		NodePath np = next->get_metadata(0);

		Node *n=get_node(np);
		if (n) {

			selected.push_back(n);
			icons.push_back(next->get_icon(0));
		}
		next=tree->get_next_selected(next);
	}

	if (selected.empty())
		return Variant();

	VBoxContainer *vb = memnew( VBoxContainer );
	Array objs;
	int list_max = 10;
	float opacity_step = 1.0f / list_max;
	float opacity_item = 1.0f;
	for(int i=0;i<selected.size();i++) {

		if (i<list_max){
			HBoxContainer *hb = memnew( HBoxContainer );
			TextureFrame *tf = memnew(TextureFrame);
			tf->set_texture(icons[i]);
			hb->add_child(tf);
			Label *label = memnew( Label( selected[i]->get_name() ) );
			hb->add_child(label);
			vb->add_child(hb);
			hb->set_opacity(opacity_item);
			opacity_item -= opacity_step;
		}
		NodePath p = selected[i]->get_path();
		objs.push_back(p);
	}

	set_drag_preview(vb);
	Dictionary drag_data;
	drag_data["type"]="nodes";
	drag_data["nodes"]=objs;

	tree->set_drop_mode_flags(Tree::DROP_MODE_INBETWEEN|Tree::DROP_MODE_ON_ITEM);
	emit_signal("nodes_dragged");

	return drag_data;
}
开发者ID:WalasPrime,项目名称:godot,代码行数:55,代码来源:scene_tree_editor.cpp


注:本文中的HBoxContainer::set_opacity方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。