本文整理汇总了C++中HBoxContainer::add_child方法的典型用法代码示例。如果您正苦于以下问题:C++ HBoxContainer::add_child方法的具体用法?C++ HBoxContainer::add_child怎么用?C++ HBoxContainer::add_child使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HBoxContainer
的用法示例。
在下文中一共展示了HBoxContainer::add_child方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: memnew
ImportDock::ImportDock() {
imported = memnew(LineEdit);
imported->set_editable(false);
add_child(imported);
HBoxContainer *hb = memnew(HBoxContainer);
add_margin_child(TTR("Import As:"), hb);
import_as = memnew(OptionButton);
hb->add_child(import_as);
import_as->set_h_size_flags(SIZE_EXPAND_FILL);
preset = memnew(MenuButton);
preset->set_text(TTR("Preset.."));
preset->get_popup()->connect("index_pressed", this, "_preset_selected");
hb->add_child(preset);
import_opts = memnew(PropertyEditor);
add_child(import_opts);
import_opts->set_v_size_flags(SIZE_EXPAND_FILL);
import_opts->hide_top_label();
import_opts->set_hide_script(true);
hb = memnew(HBoxContainer);
add_child(hb);
import = memnew(Button);
import->set_text(TTR("Reimport"));
import->connect("pressed", this, "_reimport");
hb->add_spacer();
hb->add_child(import);
hb->add_spacer();
params = memnew(ImportDockParameters);
import_opts->edit(params);
}
示例2: memnew
NewProjectDialog() {
VBoxContainer *vb = memnew( VBoxContainer );
add_child(vb);
set_child_rect(vb);
Label* l = memnew(Label);
l->set_text("Project Path:");
vb->add_child(l);
pp=l;
project_path = memnew( LineEdit );
MarginContainer *mc = memnew( MarginContainer );
vb->add_child(mc);
HBoxContainer *pphb = memnew( HBoxContainer );
mc->add_child(pphb);
pphb->add_child(project_path);
project_path->set_h_size_flags(SIZE_EXPAND_FILL);
Button* browse = memnew( Button );
pphb->add_child(browse);
browse->set_text("Browse");
browse->connect("pressed", this,"_browse_path");
l = memnew(Label);
l->set_text("Project Name:");
l->set_pos(Point2(5,50));
vb->add_child(l);
pn=l;
project_name = memnew( LineEdit );
mc = memnew( MarginContainer );
vb->add_child(mc);
mc->add_child(project_name);
project_name->set_text("New Game Project");
l = memnew(Label);
l->set_text("That's a BINGO!");
vb->add_child(l);
error=l;
l->add_color_override("font_color",Color(1,0.4,0.3,0.8));
l->set_align(Label::ALIGN_CENTER);
get_ok()->set_text("Create");
DirAccess *d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
project_path->set_text(d->get_current_dir());
memdelete(d);
fdialog = memnew( FileDialog );
add_child(fdialog);
fdialog->set_access(FileDialog::ACCESS_FILESYSTEM);
project_name->connect("text_changed", this,"_text_changed");
project_path->connect("text_changed", this,"_path_text_changed");
fdialog->connect("dir_selected", this,"_path_selected");
fdialog->connect("file_selected", this,"_file_selected");
set_hide_on_ok(false);
import_mode=false;
}
示例3: memnew
EditorLog::EditorLog() {
VBoxContainer *vb = memnew( VBoxContainer);
add_child(vb);
vb->set_v_size_flags(SIZE_EXPAND_FILL);
HBoxContainer *hb = memnew( HBoxContainer );
vb->add_child(hb);
title = memnew( Label );
title->set_text(" Output:");
title->set_h_size_flags(SIZE_EXPAND_FILL);
hb->add_child(title);
button = memnew( ToolButton );
button->set_text_align(Button::ALIGN_LEFT);
button->connect("pressed",this,"_flip_request");
button->set_focus_mode(FOCUS_NONE);
button->set_clip_text(true);
button->set_tooltip("Open/Close output panel.");
//pd = memnew( PaneDrag );
//hb->add_child(pd);
//pd->connect("dragged",this,"_dragged");
//pd->set_default_cursor_shape(Control::CURSOR_MOVE);
tb = memnew( TextureButton );
hb->add_child(tb);
tb->connect("pressed",this,"_close_request");
ec = memnew( EmptyControl);
vb->add_child(ec);
ec->set_minsize(Size2(0,100));
ec->set_v_size_flags(SIZE_EXPAND_FILL);
PanelContainer *pc = memnew( PanelContainer );
pc->add_style_override("panel",get_stylebox("normal","TextEdit"));
ec->add_child(pc);
pc->set_area_as_parent_rect();
log = memnew( RichTextLabel );
log->set_scroll_follow(true);
pc->add_child(log);
add_message(VERSION_FULL_NAME" (c) 2010-2014 www.fengei.com.");
//log->add_text("Initialization Complete.\n"); //because it looks cool.
add_style_override("panel",get_stylebox("panelf","Panel"));
eh.errfunc=_error_handler;
eh.userdata=this;
add_error_handler(&eh);
current=Thread::get_caller_ID();
EditorNode::get_undo_redo()->set_commit_notify_callback(_undo_redo_cbk,this);
hide();
}
示例4: memnew
SpriteEditor::SpriteEditor() {
options = memnew(MenuButton);
CanvasItemEditor::get_singleton()->add_control_to_menu_panel(options);
options->set_text(TTR("Sprite"));
options->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("Sprite", "EditorIcons"));
options->get_popup()->add_item(TTR("Convert to Mesh2D"), MENU_OPTION_CONVERT_TO_MESH_2D);
options->get_popup()->add_item(TTR("Convert to Polygon2D"), MENU_OPTION_CONVERT_TO_POLYGON_2D);
options->get_popup()->add_item(TTR("Create CollisionPolygon2D Sibling"), MENU_OPTION_CREATE_COLLISION_POLY_2D);
options->get_popup()->add_item(TTR("Create LightOccluder2D Sibling"), MENU_OPTION_CREATE_LIGHT_OCCLUDER_2D);
options->set_switch_on_hover(true);
options->get_popup()->connect("id_pressed", this, "_menu_option");
err_dialog = memnew(AcceptDialog);
add_child(err_dialog);
debug_uv_dialog = memnew(ConfirmationDialog);
debug_uv_dialog->get_ok()->set_text(TTR("Create Mesh2D"));
debug_uv_dialog->set_title("Mesh 2D Preview");
VBoxContainer *vb = memnew(VBoxContainer);
debug_uv_dialog->add_child(vb);
ScrollContainer *scroll = memnew(ScrollContainer);
scroll->set_custom_minimum_size(Size2(800, 500) * EDSCALE);
scroll->set_enable_h_scroll(true);
scroll->set_enable_v_scroll(true);
vb->add_margin_child(TTR("Preview:"), scroll, true);
debug_uv = memnew(Control);
debug_uv->connect("draw", this, "_debug_uv_draw");
scroll->add_child(debug_uv);
debug_uv_dialog->connect("confirmed", this, "_create_node");
HBoxContainer *hb = memnew(HBoxContainer);
hb->add_child(memnew(Label(TTR("Simplification: "))));
simplification = memnew(SpinBox);
simplification->set_min(0.01);
simplification->set_max(10.00);
simplification->set_step(0.01);
simplification->set_value(2);
hb->add_child(simplification);
hb->add_spacer();
hb->add_child(memnew(Label(TTR("Grow (Pixels): "))));
island_merging = memnew(SpinBox);
island_merging->set_min(0);
island_merging->set_max(10);
island_merging->set_step(1);
island_merging->set_value(2);
hb->add_child(island_merging);
hb->add_spacer();
update_preview = memnew(Button);
update_preview->set_text(TTR("Update Preview"));
update_preview->connect("pressed", this, "_update_mesh_data");
hb->add_child(update_preview);
vb->add_margin_child(TTR("Settings:"), hb);
add_child(debug_uv_dialog);
}
示例5: memnew
EditorMeshImportDialog(EditorMeshImportPlugin *p_plugin) {
plugin=p_plugin;
set_title(TTR("Single Mesh Import"));
set_hide_on_ok(false);
VBoxContainer *vbc = memnew( VBoxContainer );
add_child(vbc);
//set_child_rect(vbc);
HBoxContainer *hbc = memnew( HBoxContainer );
vbc->add_margin_child(TTR("Source Mesh(es):"),hbc);
import_path = memnew( LineEdit );
import_path->set_h_size_flags(SIZE_EXPAND_FILL);
hbc->add_child(import_path);
Button * import_choose = memnew( Button );
import_choose->set_text(" .. ");
hbc->add_child(import_choose);
import_choose->connect("pressed", this,"_browse");
hbc = memnew( HBoxContainer );
vbc->add_margin_child(TTR("Target Path:"),hbc);
save_path = memnew( LineEdit );
save_path->set_h_size_flags(SIZE_EXPAND_FILL);
hbc->add_child(save_path);
Button * save_choose = memnew( Button );
save_choose->set_text(" .. ");
hbc->add_child(save_choose);
save_choose->connect("pressed", this,"_browse_target");
file_select = memnew( EditorFileDialog );
file_select->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
file_select->set_mode(EditorFileDialog::MODE_OPEN_FILES);
file_select->add_filter("*.obj ; Wavefront OBJ");
add_child(file_select);
file_select->connect("files_selected", this,"_choose_files");
save_select = memnew( EditorDirDialog );
add_child(save_select);
save_select->connect("dir_selected", this,"_choose_save_dir");
get_ok()->connect("pressed", this,"_import");
get_ok()->set_text(TTR("Import"));
error_dialog = memnew( AcceptDialog );
add_child(error_dialog);
options = memnew( _EditorMeshImportOptions );
option_editor = memnew( PropertyEditor );
option_editor->hide_top_label();
vbc->add_margin_child(TTR("Options:"),option_editor,true);
}
示例6: memnew
GroupsEditor::GroupsEditor() {
node=NULL;
VBoxContainer *vbc = this;
HBoxContainer *hbc = memnew( HBoxContainer );
vbc->add_child(hbc);
group_name = memnew( LineEdit );
group_name->set_h_size_flags(SIZE_EXPAND_FILL);
hbc->add_child(group_name);
group_name->connect("text_entered",this,"_add_group");
add = memnew( Button );
add->set_text(TTR("Add"));
hbc->add_child(add);
add->connect("pressed", this,"_add_group", varray(String()));
tree = memnew( Tree );
tree->set_hide_root(true);
tree->set_v_size_flags(SIZE_EXPAND_FILL);
vbc->add_child(tree);
tree->connect("button_pressed",this,"_remove_group");
add_constant_override("separation",3*EDSCALE);
}
示例7: memnew
EditorPropertyRootMotion::EditorPropertyRootMotion() {
HBoxContainer *hbc = memnew(HBoxContainer);
add_child(hbc);
assign = memnew(Button);
assign->set_flat(true);
assign->set_h_size_flags(SIZE_EXPAND_FILL);
assign->set_clip_text(true);
assign->connect("pressed", this, "_node_assign");
hbc->add_child(assign);
clear = memnew(Button);
clear->set_flat(true);
clear->connect("pressed", this, "_node_clear");
hbc->add_child(clear);
filter_dialog = memnew(ConfirmationDialog);
add_child(filter_dialog);
filter_dialog->set_title(TTR("Edit Filtered Tracks:"));
filter_dialog->connect("confirmed", this, "_confirmed");
filters = memnew(Tree);
filter_dialog->add_child(filters);
filters->set_v_size_flags(SIZE_EXPAND_FILL);
filters->set_hide_root(true);
filters->connect("item_activated", this, "_confirmed");
//filters->connect("item_edited", this, "_filter_edited");
}
示例8: memnew
EditorAssetLibraryItem::EditorAssetLibraryItem() {
Ref<StyleBoxEmpty> border;
border.instance();
/*border->set_default_margin(MARGIN_LEFT,5);
border->set_default_margin(MARGIN_RIGHT,5);
border->set_default_margin(MARGIN_BOTTOM,5);
border->set_default_margin(MARGIN_TOP,5);*/
add_style_override("panel",border);
HBoxContainer *hb = memnew( HBoxContainer );
add_child(hb);
icon = memnew( TextureButton );
icon->set_default_cursor_shape(CURSOR_POINTING_HAND);
icon->connect("pressed",this,"_asset_clicked");
hb->add_child(icon);
VBoxContainer *vb = memnew( VBoxContainer );
hb->add_child(vb);
vb->set_h_size_flags(SIZE_EXPAND_FILL);
title = memnew( LinkButton );
title->set_text("My Awesome Addon");
title->set_underline_mode(LinkButton::UNDERLINE_MODE_ON_HOVER);
title->connect("pressed",this,"_asset_clicked");
vb->add_child(title);
category = memnew( LinkButton );
category->set_text("Editor Tools");
category->set_underline_mode(LinkButton::UNDERLINE_MODE_ON_HOVER);
title->connect("pressed",this,"_category_clicked");
vb->add_child(category);
author = memnew( LinkButton );
author->set_text("Johny Tolengo");
author->set_underline_mode(LinkButton::UNDERLINE_MODE_ON_HOVER);
title->connect("pressed",this,"_author_clicked");
vb->add_child(author);
HBoxContainer *rating_hb = memnew( HBoxContainer );
vb->add_child(rating_hb);
for(int i=0;i<5;i++) {
stars[i]=memnew(TextureFrame);
rating_hb->add_child(stars[i]);
}
price = memnew( Label );
price->set_text("Free");
vb->add_child(price);
set_custom_minimum_size(Size2(250,100));
set_h_size_flags(SIZE_EXPAND_FILL);
set_stop_mouse(false);
}
示例9: 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) {
// Only allow selection if not part of an instanced scene.
if (!n->get_owner() || n->get_owner() == get_scene_node() || n->get_owner()->get_filename() == String()) {
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);
TextureRect *tf = memnew(TextureRect);
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_modulate(Color(1, 1, 1, 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;
}
示例10: memnew
EditorAssetLibraryItemDescription::EditorAssetLibraryItemDescription() {
VBoxContainer *vbox = memnew( VBoxContainer );
add_child(vbox);
set_child_rect(vbox);
HBoxContainer *hbox = memnew( HBoxContainer);
vbox->add_child(hbox);
vbox->add_constant_override("separation",15);
VBoxContainer *desc_vbox = memnew( VBoxContainer );
hbox->add_child(desc_vbox);
hbox->add_constant_override("separation",15);
item = memnew( EditorAssetLibraryItem );
desc_vbox->add_child(item);
desc_vbox->set_custom_minimum_size(Size2(300,0));
PanelContainer * desc_bg = memnew( PanelContainer );
desc_vbox->add_child(desc_bg);
desc_bg->set_v_size_flags(SIZE_EXPAND_FILL);
description = memnew( RichTextLabel );
description->connect("meta_clicked",this,"_link_click");
//desc_vbox->add_child(description);
desc_bg->add_child(description);
desc_bg->add_style_override("panel",get_stylebox("normal","TextEdit"));
preview = memnew( TextureFrame );
preview->set_custom_minimum_size(Size2(640,345));
hbox->add_child(preview);
PanelContainer * previews_bg = memnew( PanelContainer );
vbox->add_child(previews_bg);
previews_bg->set_custom_minimum_size(Size2(0,85));
previews_bg->add_style_override("panel",get_stylebox("normal","TextEdit"));
previews = memnew( ScrollContainer );
previews_bg->add_child(previews);
previews->set_enable_v_scroll(false);
previews->set_enable_h_scroll(true);
preview_hb = memnew( HBoxContainer );
preview_hb->set_v_size_flags(SIZE_EXPAND_FILL);
previews->add_child(preview_hb);
get_ok()->set_text("Install");
get_cancel()->set_text("Close");
}
示例11: memnew
EditorLog::EditorLog() {
VBoxContainer *vb = this;
add_constant_override("separation",get_constant("separation","VBoxContainer"));
HBoxContainer *hb = memnew( HBoxContainer );
vb->add_child(hb);
title = memnew( Label );
title->set_text(" Output:");
title->set_h_size_flags(SIZE_EXPAND_FILL);
hb->add_child(title);
//pd = memnew( PaneDrag );
//hb->add_child(pd);
//pd->connect("dragged",this,"_dragged");
//pd->set_default_cursor_shape(Control::CURSOR_MOVE);
clearbutton = memnew( Button );
hb->add_child(clearbutton);
clearbutton->set_text(TTR("Clear"));
clearbutton->connect("pressed", this,"_clear_request");
ec = memnew( Control);
vb->add_child(ec);
ec->set_custom_minimum_size(Size2(0,180));
ec->set_v_size_flags(SIZE_EXPAND_FILL);
PanelContainer *pc = memnew( PanelContainer );
pc->add_style_override("panel",get_stylebox("normal","TextEdit"));
ec->add_child(pc);
pc->set_area_as_parent_rect();
log = memnew( RichTextLabel );
log->set_scroll_follow(true);
log->set_selection_enabled(true);
log->set_focus_mode(FOCUS_CLICK);
pc->add_child(log);
add_message(VERSION_FULL_NAME" (c) 2008-2016 Juan Linietsky, Ariel Manzur.");
//log->add_text("Initialization Complete.\n"); //because it looks cool.
eh.errfunc=_error_handler;
eh.userdata=this;
add_error_handler(&eh);
current=Thread::get_caller_ID();
EditorNode::get_undo_redo()->set_commit_notify_callback(_undo_redo_cbk,this);
}
示例12: memnew
ResourcePreloaderEditor::ResourcePreloaderEditor() {
//add_style_override("panel", get_stylebox("panel","Panel"));
VBoxContainer *vbc = memnew( VBoxContainer );
add_child(vbc);
HBoxContainer *hbc = memnew( HBoxContainer );
vbc->add_child(hbc);
load = memnew( Button );
load->set_tooltip("Load Resource");
hbc->add_child(load);
_delete = memnew( Button );
hbc->add_child(_delete);
paste = memnew( Button );
paste->set_text("Paste");
hbc->add_child(paste);
file = memnew( FileDialog );
add_child(file);
tree = memnew( Tree );
tree->set_columns(2);
tree->set_column_min_width(0,3);
tree->set_column_min_width(1,1);
tree->set_column_expand(0,true);
tree->set_column_expand(1,true);
tree->set_v_size_flags(SIZE_EXPAND_FILL);
vbc->add_child(tree);
dialog = memnew( AcceptDialog );
add_child( dialog );
load->connect("pressed", this,"_load_pressed");
_delete->connect("pressed", this,"_delete_pressed");
paste->connect("pressed", this,"_paste_pressed");
file->connect("file_selected", this,"_file_load_request");
//dialog->connect("confirmed", this,"_delete_confirm_pressed");
tree->connect("item_edited", this,"_item_edited");
loading_scene=false;
}
示例13: memnew
ItemListEditor::ItemListEditor() {
selected_idx=-1;
options = memnew( MenuButton );
add_child(options);
options->set_area_as_parent_rect();
options->set_text("Items");
options->get_popup()->add_item("Edit Items",MENU_EDIT_ITEMS);
//options->get_popup()->add_item("Clear",MENU_CLEAR);
options->get_popup()->connect("item_pressed", this,"_menu_option");
dialog = memnew( AcceptDialog );
add_child( dialog );
HBoxContainer *hbc = memnew( HBoxContainer );
dialog->add_child(hbc);
dialog->set_child_rect(hbc);
prop_editor = memnew( PropertyEditor );
hbc->add_child(prop_editor);
prop_editor->set_h_size_flags(SIZE_EXPAND_FILL);
VBoxContainer *vbc = memnew( VBoxContainer );
hbc->add_child(vbc);
add_button = memnew( Button );
//add_button->set_text("Add");
add_button->connect("pressed",this,"_add_button");
vbc->add_child(add_button);
del_button = memnew( Button );
//del_button->set_text("Del");
del_button->connect("pressed",this,"_delete_button");
vbc->add_child(del_button);
dialog->set_title("Item List");
prop_editor->hide_top_label();
}
示例14: Node
EditorSubScene::EditorSubScene() {
scene = NULL;
is_root = false;
set_title(TTR("Select Node(s) to Import"));
set_hide_on_ok(false);
VBoxContainer *vb = memnew(VBoxContainer);
add_child(vb);
//set_child_rect(vb);
HBoxContainer *hb = memnew(HBoxContainer);
path = memnew(LineEdit);
path->connect("text_entered", this, "_path_changed");
hb->add_child(path);
path->set_h_size_flags(SIZE_EXPAND_FILL);
Button *b = memnew(Button);
b->set_text(" .. ");
hb->add_child(b);
b->connect("pressed", this, "_path_browse");
vb->add_margin_child(TTR("Scene Path:"), hb);
tree = memnew(Tree);
tree->set_v_size_flags(SIZE_EXPAND_FILL);
vb->add_margin_child(TTR("Import From Node:"), tree, true);
tree->set_select_mode(Tree::SELECT_MULTI);
tree->connect("multi_selected", this, "_item_multi_selected");
//tree->connect("nothing_selected", this, "_deselect_items");
tree->connect("cell_selected", this, "_selected_changed");
tree->connect("item_activated", this, "_ok", make_binds(), CONNECT_DEFERRED);
file_dialog = memnew(EditorFileDialog);
List<String> extensions;
ResourceLoader::get_recognized_extensions_for_type("PackedScene", &extensions);
for (List<String>::Element *E = extensions.front(); E; E = E->next()) {
file_dialog->add_filter("*." + E->get());
}
file_dialog->set_mode(EditorFileDialog::MODE_OPEN_FILE);
add_child(file_dialog);
file_dialog->connect("file_selected", this, "_path_selected");
}
示例15: memnew
MeshEditor::MeshEditor() {
viewport = memnew( Viewport );
Ref<World> world;
world.instance();
viewport->set_world(world); //use own world
add_child(viewport);
viewport->set_process_input(false);
camera = memnew( Camera );
camera->set_transform(Transform(Matrix3(),Vector3(0,0,3)));
camera->set_perspective(45,0.1,10);
viewport->add_child(camera);
light1 = memnew( DirectionalLight );
light1->set_transform(Transform().looking_at(Vector3(-1,-1,-1),Vector3(0,1,0)));
viewport->add_child(light1);
light2 = memnew( DirectionalLight );
light2->set_transform(Transform().looking_at(Vector3(0,1,0),Vector3(0,0,1)));
light2->set_color(Light::COLOR_DIFFUSE,Color(0.7,0.7,0.7));
light2->set_color(Light::COLOR_SPECULAR,Color(0.7,0.7,0.7));
viewport->add_child(light2);
mesh_instance = memnew( MeshInstance );
viewport->add_child(mesh_instance);
set_custom_minimum_size(Size2(1,150));
HBoxContainer *hb = memnew( HBoxContainer );
add_child(hb);
hb->set_area_as_parent_rect(2);
hb->add_spacer();
VBoxContainer *vb_light = memnew( VBoxContainer );
hb->add_child(vb_light);
light_1_switch = memnew( TextureButton );
light_1_switch->set_toggle_mode(true);
vb_light->add_child(light_1_switch);
light_1_switch->connect("pressed",this,"_button_pressed",varray(light_1_switch));
light_2_switch = memnew( TextureButton );
light_2_switch->set_toggle_mode(true);
vb_light->add_child(light_2_switch);
light_2_switch->connect("pressed",this,"_button_pressed",varray(light_2_switch));
first_enter=true;
rot_x=0;
rot_y=0;
}