상속: InputAdapter, IDisposable
예제 #1
0
        protected override void InitializeCore()
        {
            ShowDebug = true;

            Skin skin = new Skin(new TextureAtlas(Context.GraphicsDevice, "Data/uiskin.atlas"));
            skin.Add("white", Color.White);
            skin.Add("red", Color.Red);
            skin.Add("default-font", new BitmapFont(Context.GraphicsDevice, "Data/default.fnt", false));
            skin.Add("default", new TextButtonStyle() {
                Down = skin.GetDrawable("default-round-down"),
                Up = skin.GetDrawable("default-round"),
                Font = skin.GetFont("default-font"),
                FontColor = skin.GetColor("white"),
            });
            _stage = new Stage(Context.Window.ClientBounds.Width, Context.Window.ClientBounds.Height, false, Context.GraphicsDevice);

            Context.Input.Processor = _stage;

            TextButton button = new TextButton("Button " + 0, skin) {
                X = 200, Y = 200, Width = 150, Height = 100,
                /*X = _rand.Next(0, Context.GraphicsDevice.Viewport.Width - 200),
                Y = _rand.Next(0, Context.GraphicsDevice.Viewport.Height - 100),
                Width = _rand.Next(50, 200),
                Height = _rand.Next(0, 100),*/
            };
            _stage.AddActor(button);

            Context.Window.ClientSizeChanged += (s, e) => {
                _stage.SetViewport(Context.Window.ClientBounds.Width, Context.Window.ClientBounds.Height, false);
            };
        }
예제 #2
0
        protected override void InitializeCore()
        {
            ShowDebug = true;

            _stage = new Stage(Context.GraphicsDevice);
            Context.Input.Processor = _stage;

            Skin skin = new Skin(Context.GraphicsDevice, "Data/uiskin.json");

            Table table = new Table();
            table.SetFillParent(true);
            _stage.AddActor(table);

            Tree tree = new Tree(skin);

            TreeNode node1 = new TreeNode(new TextButton("moo1", skin));
            TreeNode node2 = new TreeNode(new TextButton("moo2", skin));
            TreeNode node3 = new TreeNode(new TextButton("moo3", skin));
            TreeNode node4 = new TreeNode(new TextButton("moo4", skin));
            TreeNode node5 = new TreeNode(new TextButton("moo5", skin));

            tree.Add(node1);
            tree.Add(node2);
            node2.Add(node3);
            node3.Add(node4);
            tree.Add(node5);

            Label label = new Label("", skin, "default");

            tree.SelectionChanged += (sender, e) => {
                if (e.AddedItems.Count == 0)
                    return;

                StringBuilder txt = new StringBuilder();
                foreach (TreeNode node in e.AddedItems) {
                    TextButton button = node.Actor as TextButton;
                    txt.Append(button.Text + ", ");
                }

                label.Text = txt.ToString();
                label.Invalidate();
            };

            (node5.Actor as Button).Clicked += (sender, e) => {
                tree.Remove(node4);
            };

            //node5.Actor.AddListener(new DispatchClickListener() {
            //    OnClicked = (ev, x, y) => { tree.Remove(node4); }
            //});

            table.Add(tree).Configure.Fill().Expand();
            table.Row();
            table.Add(label).Configure.Fill().Expand();

            //Debugger.Launch();
        }
예제 #3
0
        protected override void InitializeCore()
        {
            ShowDebug = true;

            //Debugger.Launch();

            stage = new Stage(Context.GraphicsDevice.Viewport.Width, Context.GraphicsDevice.Viewport.Height, true, Context.GraphicsDevice);

            Skin skin = new Skin(Context.GraphicsDevice, "Data/uiskin.json");
            Context.Input.Processor = stage;

            SelectBox box = new SelectBox(selectItems, skin);
            box.SetPosition(200, 300);

            stage.AddActor(box);
        }
예제 #4
0
        protected override void InitializeCore()
        {
            ShowDebug = true;

            _texture = new TextureContext(Context.GraphicsDevice, "Data/badlogicsmall.jpg", true);
            _font = new BitmapFont(Context.GraphicsDevice, "Data/arial-15.fnt", "data/arial-15_00.png", false);

            _stage = new Stage(480, 320, true, Context.GraphicsDevice);

            float loc = (NumSprites * (32 + Spacing) - Spacing) / 2;
            for (int i = 0; i < NumGroups; i++) {
                Group group = new Group() {
                    X = (float)(_rand.NextDouble() * (_stage.Width - NumSprites * (32 + Spacing))),
                    Y = (float)(_rand.NextDouble() * (_stage.Height - NumSprites * (32 + Spacing))),
                    OriginX = loc,
                    OriginY = loc,
                    //Rotation = MathHelper.ToRadians(30),
                };

                FillGroup(group, _texture);
                _stage.AddActor(group);
            }

            _uiTexture = new TextureContext(Context.GraphicsDevice, "Data/ui.png", true);
            _ui = new Stage(480, 320, false, Context.GraphicsDevice);

            Image blend = new Image(new TextureRegion(_uiTexture, 0, 0, 64, 32)) {
                Align = Alignment.Center,
                Scaling = Scaling.None,
            };

            // Listener
            blend.Y = _ui.Height - 64;

            Image rotate = new Image(new TextureRegion(_uiTexture, 64, 0, 64, 32)) {
                Align = Alignment.Center,
                Scaling = Scaling.None,
            };
            rotate.TouchDown += (s, e) => {
                _rotateSprites = !_rotateSprites;
                e.Handled = true;
            };
            /*rotate.AddListener(new TouchListener() {
                Down = (e, x, y, pointer, button) => {
                    _rotateSprites = !_rotateSprites;
                    return true;
                }
            });*/
            rotate.SetPosition(64, blend.Y);

            Image scale = new Image(new TextureRegion(_uiTexture, 64, 32, 64, 32)) {
                Align = Alignment.Center,
                Scaling = Scaling.None,
            };
            scale.TouchDown += (s, e) => {
                _scaleSprites = !_scaleSprites;
                e.Handled = true;
            };
            /*scale.AddListener(new TouchListener() {
                Down = (e, x, y, pointer, button) => {
                    _scaleSprites = !_scaleSprites;
                    return true;
                }
            });*/
            scale.SetPosition(128, blend.Y);

            _ui.AddActor(blend);
            _ui.AddActor(rotate);
            _ui.AddActor(scale);

            /*_fps = new Label("fps: 0", new LabelStyle(_font, Color.White));
            _fps.SetPosition(10, 30);
            _fps.Color = new Color(0, 1f, 0, 1f);
            _ui.AddActor(_fps);*/
        }
예제 #5
0
        protected override void InitializeCore()
        {
            //Debugger.Launch();
            _stage = new Stage(Context.Window.ClientBounds.Width, Context.Window.ClientBounds.Height, true, Context.GraphicsDevice);
            Skin skin = new Skin(Context.GraphicsDevice, "Data/uiskin.json");
            Context.Input.Processor = _stage;

            _container = new Table();
            _stage.AddActor(_container);
            _container.SetFillParent(true);

            Table table = new Table();

            ScrollPane scroll = new ScrollPane(table, skin);

            /*InputListener stopTouchDown = new DispatchInputListener() {
                OnTouchDown = (ev, x, y, pointer, button) => {
                    ev.Stop();
                    return false;
                },
            };*/

            table.Pad(10);
            table.Defaults().Configure.ExpandX().Space(4);

            for (int i = 0; i < 100; i++) {
                table.Row();
                Cell rowCell = table.Add(new Label(i + "uno", skin));
                rowCell.ExpandX = 1;
                rowCell.FillX = 1;

                TextButton button = new TextButton(i + "dos", skin);
                table.Add(button);
                button.Clicked += (a, e) => {
                    Console.WriteLine("Clicked");
                };

                Slider slider = new Slider(0, 100, 1, false, skin);
                slider.TouchDown += (s, e) => { e.Stopped = true; };
                table.Add(slider);

                table.Add(new Label(i + "tres long0 long1 long2 long3 long4 long5 long6 long7 long8 long9 long10 long11 long12", skin));
            }

            TextButton flickButton = new TextButton("Flick Scroll", skin.Get<TextButtonStyle>("toggle")) {
                IsToggle = true,
                IsChecked = false,
            };
            flickButton.Checked += (sender, e) => { scroll.FlickScroll = true; };
            flickButton.Unchecked += (sender, e) => { scroll.FlickScroll = false; };

            TextButton fadeButton = new TextButton("Fade Scrollbars", skin.Get<TextButtonStyle>("toggle")) {
                IsToggle = true,
                IsChecked = false,
            };
            fadeButton.Checked += (sender, e) => { scroll.FadeScrollBars = true; };
            fadeButton.Unchecked += (sender, e) => { scroll.FadeScrollBars = false; };

            TextButton smoothButton = new TextButton("Smooth Scrolling", skin.Get<TextButtonStyle>("toggle")) {
                IsToggle = true,
                IsChecked = false,
            };
            smoothButton.Checked += (sender, e) => { scroll.SmoothScrolling = true; };
            smoothButton.Unchecked += (sender, e) => { scroll.SmoothScrolling = false; };

            TextButton onTopButton = new TextButton("Scrollbars On Top", skin.Get<TextButtonStyle>("toggle")) {
                IsToggle = true,
                IsChecked = false,
            };
            onTopButton.Checked += (sender, e) => { scroll.ScrollBarsOnTop = true; };
            onTopButton.Unchecked += (sender, e) => { scroll.ScrollBarsOnTop = false; };

            _container.Add(scroll).Configure.Expand().Fill().Colspan(4);
            _container.Row().Configure.Space(10).PadBottom(10);
            _container.Add(flickButton).Configure.Right().ExpandX();
            _container.Add(onTopButton);
            _container.Add(smoothButton);
            _container.Add(fadeButton).Configure.Left().ExpandX();
        }
예제 #6
0
파일: UITest.cs 프로젝트: jaquadro/MonoGdx
        protected override void InitializeCore()
        {
            ShowDebug = true;

            //Debugger.Launch();

            _spriteBatch = new GdxSpriteBatch(Context.GraphicsDevice);
            _skin = new Skin(Context.GraphicsDevice, "Data/uiskin.json");
            _texture1 = new TextureContext(Context.GraphicsDevice, "Data/badlogicsmall.jpg", true);
            _texture2 = new TextureContext(Context.GraphicsDevice, "Data/badlogic.jpg", true);

            TextureRegion image = new TextureRegion(_texture1);
            TextureRegion imageFlipped = new TextureRegion(image);
            imageFlipped.Flip(true, true);
            TextureRegion image2 = new TextureRegion(_texture2);
            _stage = new Stage(Context.GraphicsDevice.Viewport.Width, Context.GraphicsDevice.Viewport.Height, true, Context.GraphicsDevice);

            Context.Input.Processor = _stage;

            ImageButtonStyle style = new ImageButtonStyle(_skin.Get<ButtonStyle>()) {
                ImageUp = new TextureRegionDrawable(image),
                ImageDown = new TextureRegionDrawable(imageFlipped),
            };
            ImageButton iconButton = new ImageButton(style);

            Button buttonMulti = new TextButton("Multi\nLine\nToggle", _skin, "toggle") {
                IsToggle = true,
            };
            Button imgButton = new Button(new Image(image), _skin);
            Button imgToggleButton = new Button(new Image(image), _skin, "toggle") {
                IsToggle = true,
            };

            Label myLabel = new Label("This is some text.", _skin);
            myLabel.TextWrapping = true;

            Table t = new Table();
            t.Row();
            t.Add(myLabel);

            t.Layout();

            CheckBox checkbox = new CheckBox("Check me", _skin);
            Slider slider = new Slider(0, 10, 1, false, _skin);
            TextField textField = new TextField("", _skin) {
                MessageText = "Click here!",
            };
            SelectBox dropdown = new SelectBox(selectEntries, _skin);
            Image imageActor = new Image(image2);
            ScrollPane scrollPane = new ScrollPane(imageActor);
            MonoGdx.Scene2D.UI.List list = new MonoGdx.Scene2D.UI.List(listEntries, _skin);
            ScrollPane scrollPane2 = new ScrollPane(list, _skin);
            //scrollPane2.FlickScroll = false;
            SplitPane splitPane = new SplitPane(scrollPane, scrollPane2, false, _skin, "default-horizontal");
            _fpsLabel = new Label("fps:", _skin);

            Label passwordLabel = new Label("Textfield in password mode: ", _skin);
            TextField passwordField = new TextField("", _skin) {
                MessageText = "password",
                PasswordCharacter = '*',
                IsPasswordMode = true,
            };

            Window window = new Window("Dialog", _skin);
            window.SetPosition(0, 0);
            window.Defaults().SpaceBottom = 10;
            window.Row().Configure.Fill().ExpandX();
            window.Add(iconButton);
            window.Add(buttonMulti);
            window.Add(imgButton);
            window.Add(imgToggleButton);
            window.Row();
            window.Add(checkbox);
            window.Add(slider).Configure.MinWidth(100).FillX().Colspan(3);
            window.Row();
            window.Add(dropdown).Configure.MinWidth(100).FillX();
            window.Add(textField).Configure.MinWidth(100).ExpandX().FillX().Colspan(3);
            window.Row();
            window.Add(splitPane).Configure.Fill().Expand().Colspan(4).MaxHeight(200);
            window.Row();
            window.Add(passwordLabel).Configure.Colspan(2);
            window.Add(passwordField).Configure.MinWidth(100).ExpandX().FillX().Colspan(2);

            window.Pack();

            /*textField.KeyUp += (field, c) => {
                if (c == '\n')
                    field.OnscreenKeyboard.Show(false);
            };*/

            _stage.AddActor(window);

            MonoGdx.Scene2D.UI.List list2 = new MonoGdx.Scene2D.UI.List(listEntries, _skin);
            ScrollPane scrollPane22 = new ScrollPane(list2, _skin);
            Window window2 = new Window("ScrollPane", _skin);
            window2.SetPosition(300, 300);
            window2.Defaults().SpaceBottom = 10;
            window2.Row().Configure.Fill().ExpandX();
            window2.Add(scrollPane22).Configure.MaxHeight(250).MaxWidth(150);
            window2.Pack();

            _stage.AddActor(window2);
        }