• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Urho.Node类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Urho.Node的典型用法代码示例。如果您正苦于以下问题:C# Node类的具体用法?C# Node怎么用?C# Node使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Node类属于Urho命名空间,在下文中一共展示了Node类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: 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.45f);
			node.Position = new Vector3(0f, -6f, 0f);
			node.Rotation = new Quaternion(-40, 0, 0);

			//TODO: rotor should be defined in the model + animation
			rotor = node.CreateChild();
			var rotorModel = rotor.CreateComponent<StaticModel>();
			rotorModel.Model = cache.GetModel(Assets.Models.Box);
			rotorModel.SetMaterial(cache.GetMaterial(Assets.Materials.Black));
			rotor.Scale = new Vector3(0.1f, 1.4f, 0.1f);
			rotor.Rotation = new Quaternion(0, 0, 0);
			rotor.Position = new Vector3(0, -0.15f, 1.2f);
			rotor.RunActionsAsync(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();
		}
开发者ID:cianmulville,项目名称:urho-samples,代码行数:30,代码来源:Player.cs


示例2: ScaleByState

		public ScaleByState (ScaleTo action, Node target)
			: base (action, target)
		{ 
			DeltaX = StartScaleX * EndScaleX - StartScaleX;
			DeltaY = StartScaleY * EndScaleY - StartScaleY;
			DeltaZ = StartScaleZ * EndScaleZ - StartScaleZ;
		}
开发者ID:Zamir7,项目名称:urho,代码行数:7,代码来源:ScaleBy.cs


示例3: GetActionState

		public ActionState GetActionState(int tag, Node target)
		{
			Debug.Assert(tag != (int)ActionTag.Invalid);

			// Early out if we do not have any targets to search
			if (targets.Count == 0)
				return null;

			HashElement element;
			if (targets.TryGetValue(target, out element))
			{
				if (element.ActionStates != null)
				{
					int limit = element.ActionStates.Count;
					for (int i = 0; i < limit; i++)
					{
						var actionState = element.ActionStates[i];

						if (actionState.Action.Tag == tag)
						{
							return actionState;
						}
					}
				}
			}
			return null;
		}
开发者ID:Zamir7,项目名称:urho,代码行数:27,代码来源:ActionManager.cs


示例4: Start

		protected override void Start()
		{
			// base.Start() creates a basic scene
			base.Start();

			// Create a node for the Earth
			earthNode = Scene.CreateChild();
			earthNode.Position = new Vector3(0, 0, 1); // One meter away
			earthNode.SetScale(0.2f); // 20cm

			// Create a static model component - Sphere:
			var earth = earthNode.CreateComponent<Sphere>();
			// Materials are usually more complicated than just textures, but for such
			// simple cases we can use quick FromImage method to create a material from an image.
			earth.SetMaterial(Material.FromImage("Textures/Earth.jpg"));

			// Same steps for the Moon
			var moonNode = earthNode.CreateChild();
			moonNode.SetScale(0.27f); // Relative size of the Moon is 1738.1km/6378.1km
			moonNode.Position = new Vector3(1.2f, 0, 0);
			var moon = moonNode.CreateComponent<Sphere>();
			moon.SetMaterial(Material.FromImage("Textures/Moon.jpg"));

			// Run a an action to spin the Earth (5 degrees per second)
			earthNode.RunActions(new RepeatForever(new RotateBy(duration: 1f, deltaAngleX: 0, deltaAngleY: -5, deltaAngleZ: 0)));
		}
开发者ID:xamarin,项目名称:urho-samples,代码行数:26,代码来源:Program.cs


示例5: TintByState

		public TintByState (TintBy action, Node target)
			: base (action, target)
		{   
			DeltaB = action.DeltaB;
			DeltaG = action.DeltaG;
			DeltaR = action.DeltaR;

			staticSprite = Target.GetComponent<StaticSprite2D>();
			if (staticSprite != null)
			{
				var color = staticSprite.Color;
				FromR = color.R;
				FromG = color.G;
				FromB = color.B;
				return;
			}

			shape = Target.GetComponent<Shape>();
			if (shape != null)
			{
				FromR = shape.Color.R;
				FromG = shape.Color.G;
				FromB = shape.Color.B;
				return;
			}

			throw new NotSupportedException("The node should have StaticSprite2D or Shape component");
		}
开发者ID:Zamir7,项目名称:urho,代码行数:28,代码来源:TintBy.cs


示例6: OnHit

		public virtual void OnHit(Aircraft target, bool killed, Node bulletNode)
		{
			var body = bulletNode.GetComponent<RigidBody>();
			if (body != null)
				body.Enabled = false;
			bulletNode.SetScale(0);
		}
开发者ID:cianmulville,项目名称:urho-samples,代码行数:7,代码来源:Weapon.cs


示例7: 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()) { }
		}
开发者ID:xamarin,项目名称:urho-samples,代码行数:33,代码来源:ScannerApp.cs


示例8: OnExplode

		protected override void OnExplode(Node explodeNode)
		{
			rotor.RemoveAllActions();
			rotor.Remove();
			var particleEmitter = explodeNode.CreateComponent<ParticleEmitter2D>();
			explodeNode.SetScale(1.5f);
			particleEmitter.Effect = Application.ResourceCache.GetParticleEffect2D(Assets.Particles.PlayerExplosion);
		}
开发者ID:cianmulville,项目名称:urho-samples,代码行数:8,代码来源:Player.cs


示例9: OnHit

		public override void OnHit(Aircraft target, bool killed, Node bulletNode)
		{
			var soundSource = Node.CreateComponent<SoundSource>();
			soundSource.Gain = 0.1f;
			soundSource.Play(Application.ResourceCache.GetSound(Assets.Sounds.Powerup));
			base.OnHit(target, killed, bulletNode);
			((SamplyGame)Application).OnCoinCollected();
		}
开发者ID:cianmulville,项目名称:urho-samples,代码行数:8,代码来源:Coin.cs


示例10: TargetedActionState

		public TargetedActionState (TargetedAction action, Node target)
			: base (action, target)
		{   
			ForcedTarget = action.ForcedTarget;
			TargetedAction = action.Action;

			ActionState = (FiniteTimeActionState)TargetedAction.StartAction (ForcedTarget);
		}
开发者ID:Zamir7,项目名称:urho,代码行数:8,代码来源:TargetedAction.cs


示例11: RotateByState

		public RotateByState (RotateBy action, Node target)
			: base (action, target)
		{ 
			AngleX = action.AngleX;
			AngleY = action.AngleY;
			AngleZ = action.AngleZ;
			StartAngles = target.Rotation;
		}
开发者ID:Zamir7,项目名称:urho,代码行数:8,代码来源:RotateBy.cs


示例12: JumpByState

		public JumpByState (JumpBy action, Node target)
			: base (action, target)
		{ 
			Delta = action.Position;
			Height = action.Height;
			Jumps = action.Jumps;
			P = StartPosition = target.Position;
		}
开发者ID:Zamir7,项目名称:urho,代码行数:8,代码来源:JumpBy.cs


示例13: SequenceState

		public SequenceState (Sequence action, Node target)
			: base (action, target)
		{ 
			actionSequences = action.Actions;
			hasInfiniteAction = (actionSequences [0] is RepeatForever) || (actionSequences [1] is RepeatForever);
			split = actionSequences [0].Duration / Duration;
			last = -1;

		}
开发者ID:corefan,项目名称:urho,代码行数:9,代码来源:Sequence.cs


示例14: Launch

		async void Launch(Node bulletNode)
		{
			await bulletNode.RunActionsAsync(
				new MoveTo(3f, new Vector3(RandomHelper.NextRandom(-6f, 6f), -6, 0)),
				new CallFunc(() => bulletNode.SetScale(0f)));

			//remove the bullet from the scene.
			bulletNode.Remove();
		}
开发者ID:xamarin,项目名称:urho-samples,代码行数:9,代码来源:SmallPlate.cs


示例15: BezierToState

		public BezierToState (BezierBy action, Node target)
			: base (action, target)
		{ 
			var config = BezierConfig;

			config.ControlPoint1 -= StartPosition;
			config.ControlPoint2 -= StartPosition;
			config.EndPosition -= StartPosition;

			BezierConfig = config;
		}
开发者ID:Zamir7,项目名称:urho,代码行数:11,代码来源:BezierTo.cs


示例16: ParallelState

		public ParallelState (Parallel action, Node target)
			: base (action, target)
		{   
			Actions = action.Actions;
			ActionStates = new FiniteTimeActionState[Actions.Length];

			for (int i = 0; i < Actions.Length; i++)
			{
				ActionStates [i] = (FiniteTimeActionState)Actions [i].StartAction (target);
			}
		}
开发者ID:Zamir7,项目名称:urho,代码行数:11,代码来源:Parallel.cs


示例17: RepeatState

		public RepeatState (Repeat action, Node target)
			: base (action, target)
		{ 

			InnerAction = action.InnerAction;
			Times = action.Times;
			Total = action.Total;
			ActionInstant = action.ActionInstant;

			NextDt = InnerAction.Duration / Duration;

			InnerActionState = (FiniteTimeActionState)InnerAction.StartAction (target);
		}
开发者ID:Zamir7,项目名称:urho,代码行数:13,代码来源:Repeat.cs


示例18: FadeOutState

		public FadeOutState (FadeOut action, Node target)
			: base (action, target)
		{
			staticSprite = Target.GetComponent<StaticSprite2D>();
			if (staticSprite != null)
				return;

			shape = Target.GetComponent<Shape>();
			if (shape != null)
				return;

			throw new NotSupportedException("The node should have StaticSprite2D or Shape component");
		}
开发者ID:Zamir7,项目名称:urho,代码行数:13,代码来源:FadeOut.cs


示例19: 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;
		}
开发者ID:xamarin,项目名称:urho-samples,代码行数:50,代码来源:StartMenu.cs


示例20: AddCollisionDebugBox

		static void AddCollisionDebugBox(Node rootNode, bool add)
		{
			var nodes = rootNode.GetChildrenWithComponent<CollisionShape>(true);
			foreach (var node in nodes)
			{
				node.GetChild("CollisionDebugBox", false)?.Remove();
				if (!add)
					continue;
				var subNode = node.CreateChild("CollisionDebugBox");
				var box = subNode.CreateComponent<Box>();
				subNode.Scale = node.GetComponent<CollisionShape>().WorldBoundingBox.Size;
				box.Color = new Color(Color.Red, 0.4f);
			}
		}
开发者ID:xamarin,项目名称:urho-samples,代码行数:14,代码来源:SamplyGame.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Utilities.DBConnect类代码示例发布时间:2022-05-26
下一篇:
C# Windows.Usuarios类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap