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


C# Selector.BindKey方法代码示例

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


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

示例1: OnStart

        protected override void OnStart()
        {
            collection = new ObservableCollection<int>();

			var scene = new ReactiveScene();
			var layer = new ReactiveLayer2D();

            var layout = new LinearPanel()
            {
                ItemSpan = new Vector2DF(0, 36),
            };

            var selector = new Selector<int, Control>(CreateController(), layout);
            selector.Cursor.Texture = Engine.Graphics.CreateTexture2D("ListCursor.png");
            selector.BindKey(Control.Down, Control.Up, Control.Decide, Control.Cancel);
            selector.Loop = true;

            font = Engine.Graphics.CreateDynamicFont("", 20, new Color(255, 255, 255, 255), 0, new Color(0, 0, 0, 255));
            CollectionBinderForSelector<int>.Bind(selector, collection, c => new ListItem()
            {
                Font = font,
                Text = $"追加アイテム{c}",
            }, false);

			Engine.ChangeScene(scene);
			scene.AddLayer(layer);
			layer.AddObject(selector);
        }
开发者ID:NumAniCloud,项目名称:Nac.Altseed,代码行数:28,代码来源:CollectionBinderTest.cs

示例2: OnStart

		protected override void OnStart()
		{
			var layout = new LinearPanel()
			{
				ItemSpan = new Vector2DF(0, 36),
			};
			var selector = new Selector<int, Control>(CreateController(), layout);
			selector.BindKey(Control.Down, Control.Up, Control.Decide, Control.Cancel);
			selector.Cursor.Texture = Engine.Graphics.CreateTexture2D("ListCursor.png");
			selector.IsControllerUpdated = true;

			var font = Engine.Graphics.CreateDynamicFont("", 20, new Color(255, 0, 0, 255), 0, new Color(0, 0, 0, 0));

			var size = selector.Cursor.Texture.Size;

			var scroll = new ScrollLayer()
			{
				Position = new Vector2DF(30, 30),
				CameraSize = new Vector2DF(200, 200),
				BindingAreaRange = new RectF(0, 25, 200, 150),
				BoundaryStartingPosition = new Vector2DF(0, 0),
				BoundaryEndingPosition = layout.ItemSpan * 10 + new Vector2DF(200, 0),
			};
			var areaChanged = selector.OnSelectionChanged
				.Select(c => selector.GetItemForChocie(c).Position)
				.Select(p => new RectF(p.X, p.Y, size.X, size.Y));
			scroll.SubscribeSeeingArea(areaChanged);

			var scene = new Scene();
			Engine.ChangeScene(scene);
			scene.AddLayer(scroll);
			scroll.AddObject(selector);

			for(int i = 0; i < 10; i++)
			{
				var obj = new TextObject2D()
				{
					Font = font,
					Text = $"アイテム{i}",
				};
				selector.AddChoice(i, obj);
			}

			var heart1 = new TextureObject2D()
			{
				Position = scroll.BoundaryEndingPosition - new Vector2DF(50, 50),
				Texture = Engine.Graphics.CreateTexture2D("Heart.png"),
			};
			scroll.AddObject(heart1);
			var heart2 = new TextureObject2D()
			{
				Position = scroll.BoundaryStartingPosition - new Vector2DF(0, 50),
				Texture = Engine.Graphics.CreateTexture2D("Heart.png"),
			};
			scroll.AddObject(heart2);

			var viewer = new ScrollBoundViewer(scroll);
			scroll.AddObject(viewer);
		}
开发者ID:NumAniCloud,项目名称:Nac.Altseed,代码行数:59,代码来源:ScrollTest.cs

示例3: OnStart

        protected override void OnStart()
        {
			var scene = new ReactiveScene();
			var layer = new ReactiveLayer2D();

            var controller = new KeyboardController<int>();
            controller.BindKey(Keys.Down, 0);
            controller.BindKey(Keys.Up, 1);
            controller.BindKey(Keys.Z, 2);
            controller.BindKey(Keys.X, 3);

            var layout = new LinearPanel()
            {
                ItemSpan = new Vector2DF(0, 36),
                Position = new Vector2DF(20, 20),
            };
            layout.SetEasingBehaviorUp(EasingStart.StartRapidly2, EasingEnd.EndSlowly3, 10);
            selector = new Selector<int, int>(controller, layout)
            {
                Loop = true,
                CursorOffset = new Vector2DF(-5, -3),
            };
			selector.Cursor.Texture = Engine.Graphics.CreateTexture2D("ListCursor.png");
			selector.BindKey(0, 1, 2, 3);
            selector.SetEasingBehaviorUp(EasingStart.StartRapidly2, EasingEnd.EndSlowly3, 10);

            font = Engine.Graphics.CreateDynamicFont("", 20, new Color(255, 255, 255, 255), 0, new Color(0, 0, 0, 255));
            for(int i = 0; i < 8; i++)
            {
                var obj = new ListItem()
                {
                    Text = $"選択肢{i}",
                    Font = font,
                };
                Engine.AddObject2D(obj);
                selector.AddChoice(i, obj);
            }

            var moveSound = Engine.Sound.CreateSoundSource("kachi38.wav", true);
            var decideSound = Engine.Sound.CreateSoundSource("pi78.wav", true);
            var cancelSound = Engine.Sound.CreateSoundSource("pi11.wav", true);

            selector.OnSelectionChanged.Subscribe(i => Engine.Sound.Play(moveSound));
            selector.OnDecide.Subscribe(i =>
            {
                Engine.Sound.Play(decideSound);
            });
            selector.OnCancel.Subscribe(i =>
            {
                Engine.Sound.Play(cancelSound);
            });

			Engine.ChangeScene(scene);
			scene.AddLayer(layer);
			layer.AddObject(selector);
		}
开发者ID:NumAniCloud,项目名称:Nac.Altseed,代码行数:56,代码来源:SelectorTest.cs

示例4: OnStart

		protected override void OnStart()
		{
			var cursorTexture = Engine.Graphics.CreateTexture2D("ListCursor.png");
			var font = Engine.Graphics.CreateFont("MPlusB.aff");

			Func<LinearPanel> createLayouter = () => new LinearPanel()
			{
				ItemSpan = new Vector2DF(0, 40)
			};
			Selector<int, Control>[] selectors = Enumerable.Range(0, 2)
				.Select(x => new Selector<int, Control>(CreateController(), createLayouter()))
				.ToArray();

			var topLayouter = new LinearPanel()
			{
				ItemSpan = new Vector2DF(300, 0)
			};
			var topSelector = new Selector<int, Control>(CreateController(), topLayouter);
			topSelector.BindKey(Control.Right, Control.Left, Control.Decide, Control.Cancel);
			topSelector.IsActive = true;

			topSelector.OnSelectionChanged.Subscribe(x =>
			{
				foreach (var selector in selectors)
				{
					selector.IsActive = false;
					selector.HideSelection = true;
				}
				selectors[x].IsActive = true;
				selectors[x].HideSelection = false;
			});

			for (int j = 0; j < selectors.Length; j++)
			{
				selectors[j].BindKey(Control.Down, Control.Up, Control.Decide, Control.Cancel);
				selectors[j].Cursor.Texture = cursorTexture;
				for(int i = 0; i < 5; i++)
				{
					selectors[j].AddChoice(i, new TextObject2D()
					{
						Text = $"選択肢{i}",
						Font = font,
					});
				}
				selectors[j].OnSelectionChanged.Subscribe(x =>
				{
					foreach (var selector in selectors)
					{
						selector.ChangeSelection(x);
					}
				});
				topSelector.AddChoice(j, selectors[j]);
			}

			Engine.AddObject2D(topSelector);
		}
开发者ID:NumAniCloud,项目名称:Nac.Altseed,代码行数:56,代码来源:SelectorForSelector.cs


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