本文整理汇总了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);
}
示例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);
}
示例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);
}
示例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);
}