Beispiel #1
0
        private void AddObject(Vector2DF position, EasingStart start, EasingEnd end)
        {
            var heart = Engine.Graphics.CreateTexture2D("Heart.png");
            var obj = new ReactiveTextureObject2D()
            {
                Texture = heart,
                Position = position,
            };
            obj.SetCenterPosition(CenterPosition.CenterCenter);
            Engine.AddObject2D(obj);

			obj.OnUpdateEvent.DoEasingY(obj, position.Y + 400, start, end, 120)
				.Subscribe();
        }
		protected override void OnStart()
		{
			obj = new ReactiveTextureObject2D()
			{
				Texture = Engine.Graphics.CreateTexture2D("Heart.png"),
			};
			seeingAreaUpdate = new Subject<RectF>();

			var scroll = new ScrollLayer()
			{
				CameraSize = new Vector2DF(640, 480),
				BoundaryStartingPosition = new Vector2DF(-180 - 320, -160 - 240),
				BoundaryEndingPosition = new Vector2DF(320 + 180, 240 + 160),
				BindingAreaRange = new RectF(0, 0, 640, 480),
			};
			scroll.SetEasingBehaviorUp(EasingStart.StartRapidly2, EasingEnd.EndSlowly3, 15);
			scroll.SubscribeSeeingArea(seeingAreaUpdate);
			scroll.SetScrollPosition(new RectI(-320, -240, 640, 480), GetObjectArea());

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

			var rand = new Random();
			for (int i = 0; i < 60; i++)
			{
				int x = rand.Next()%1000 - 180 - 320;
				int y = rand.Next()%800 - 160 - 240;
				scroll.AddObject(new TextureObject2D
				{
					Texture = Engine.Graphics.CreateTexture2D("ZKey.png"),
					Position = new Vector2DF(x, y)
				});
			}
		}