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) }); } }