本文整理汇总了C#中Urho.Node.RunActions方法的典型用法代码示例。如果您正苦于以下问题:C# Node.RunActions方法的具体用法?C# Node.RunActions怎么用?C# Node.RunActions使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Urho.Node
的用法示例。
在下文中一共展示了Node.RunActions方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Start
protected override async void Start()
{
base.Start();
clientConnection = new ClientConnection();
clientConnection.Disconnected += ClientConnection_Disconnected;
clientConnection.RegisterForRealtimeUpdate(GetCurrentPositionDto);
clientConnection.RegisterFor<PointerPositionChangedDto>(OnClientPointerChanged);
Zone.AmbientColor = new Color(0.3f, 0.3f, 0.3f);
DirectionalLight.Brightness = 0.5f;
environmentNode = Scene.CreateChild();
EnableGestureTapped = true;
cubeNode = environmentNode.CreateChild();
cubeNode.SetScale(0.2f);
cubeNode.Position = new Vector3(1000, 1000, 1000);
var box = cubeNode.CreateComponent<Box>();
box.Color = Color.White;
var moveAction = new MoveBy(0.5f, new Vector3(0, 0.005f, 0));
cubeNode.RunActions(new RepeatForever(new RotateBy(1f, 0, 120, 0)));
cubeNode.RunActions(new RepeatForever(moveAction, moveAction.Reverse()));
//material = Material.FromColor(Color.Gray); //-- debug mode
material = Material.FromColor(Color.Transparent, true);
await RegisterCortanaCommands(new Dictionary<string, Action> {
{ "stop spatial mapping", StopSpatialMapping}
});
while (!await ConnectAsync()) { }
}
示例2: Start
protected override async void Start()
{
base.Start();
EnableGestureManipulation = true;
EnableGestureTapped = true;
Log.LogLevel = LogLevel.Warning;
Log.LogMessage += l => { Debug.WriteLine(l.Level + ": " + l.Message); };
// Create a node for the Earth
earthNode = Scene.CreateChild();
earthNode.Position = new Vector3(0, 0, 1.5f);
earthNode.SetScale(0.3f);
DirectionalLight.Brightness = 1f;
DirectionalLight.Node.SetDirection(new Vector3(-1, 0, 0.5f));
var earth = earthNode.CreateComponent<Sphere>();
earthMaterial = ResourceCache.GetMaterial("Materials/Earth.xml");
earth.SetMaterial(earthMaterial);
var moonNode = earthNode.CreateChild();
moonNode.SetScale(0.27f);
moonNode.Position = new Vector3(1.2f, 0, 0);
var moon = moonNode.CreateComponent<Sphere>();
moon.SetMaterial(ResourceCache.GetMaterial("Materials/Moon.xml"));
// Run a few actions to spin the Earth, the Moon and the clouds.
earthNode.RunActions(new RepeatForever(new RotateBy(duration: 1f, deltaAngleX: 0, deltaAngleY: -4, deltaAngleZ: 0)));
}
示例3: Init
protected override async void Init()
{
var cache = Application.ResourceCache;
var node = Node;
var model = node.CreateComponent<StaticModel>();
model.Model = cache.GetModel(Assets.Models.Player);
var material = cache.GetMaterial(Assets.Materials.Player).Clone("");
model.SetMaterial(material);
node.SetScale(0.35f);
node.Position = new Vector3(0f, -6f, 0f);
node.Rotation = new Quaternion(0, 0, 180);
//TODO: rotor should be defined in the model + animation
rotor = node.CreateChild();
var rotorModel = rotor.CreateComponent<Box>();
rotorModel.Color = Color.White;
rotor.Scale = new Vector3(0.1f, 1.5f, 0.1f);
rotor.Position = new Vector3(0, -0.15f, -1.5f);
rotor.RunActions(new RepeatForever(new RotateBy(1f, 0, 0, 360f * 4))); //RPM
// Load weapons
node.AddComponent(new MachineGun());
node.AddComponent(new Missile());
await node.RunActionsAsync(new EaseOut(new MoveBy(0.5f, new Vector3(0, 3, 0)), 2));
MoveRandomly();
// Do an alleron roll each 5 seconds
Node.RunActions(new RepeatForever(new DelayTime(5),
new EaseBackInOut(new RotateBy(1f, 0f, 0f, 360))));
}
示例4: ShowStartMenu
public async Task ShowStartMenu(bool gameOver)
{
var cache = Application.ResourceCache;
bigAircraft = Node.CreateChild();
var model = bigAircraft.CreateComponent<StaticModel>();
if (gameOver)
{
model.Model = cache.GetModel(Assets.Models.Enemy1);
model.SetMaterial(cache.GetMaterial(Assets.Materials.Enemy1).Clone(""));
bigAircraft.SetScale(0.3f);
bigAircraft.Rotate(new Quaternion(180, 90, 20), TransformSpace.Local);
}
else
{
model.Model = cache.GetModel(Assets.Models.Player);
model.SetMaterial(cache.GetMaterial(Assets.Materials.Player).Clone(""));
bigAircraft.SetScale(1f);
bigAircraft.Rotate(new Quaternion(0, 40, -50), TransformSpace.Local);
}
bigAircraft.Position = new Vector3(10, 2, 10);
bigAircraft.RunActions(new RepeatForever(new Sequence(new RotateBy(1f, 0f, 0f, 5f), new RotateBy(1f, 0f, 0f, -5f))));
//TODO: rotor should be defined in the model + animation
rotor = bigAircraft.CreateChild();
var rotorModel = rotor.CreateComponent<Box>();
rotorModel.Color = Color.White;
rotor.Scale = new Vector3(0.1f, 1.5f, 0.1f);
rotor.Position = new Vector3(0, 0, -1.3f);
var rotorAction = new RepeatForever(new RotateBy(1f, 0, 0, 360f*6)); //RPM
rotor.RunActions(rotorAction);
menuLight = bigAircraft.CreateChild();
menuLight.Position = new Vector3(-3, 6, 2);
menuLight.AddComponent(new Light { LightType = LightType.Point, Brightness = 0.3f });
await bigAircraft.RunActionsAsync(new EaseIn(new MoveBy(1f, new Vector3(-10, -2, -10)), 2));
textBlock = new Text();
textBlock.HorizontalAlignment = HorizontalAlignment.Center;
textBlock.VerticalAlignment = VerticalAlignment.Bottom;
textBlock.Value = gameOver ? "GAME OVER" : "TAP TO START";
textBlock.SetFont(cache.GetFont(Assets.Fonts.Font), Application.Graphics.Width / 15);
Application.UI.Root.AddChild(textBlock);
menuTaskSource = new TaskCompletionSource<bool>();
finished = false;
await menuTaskSource.Task;
}