protected override async Task LoadContent() { await base.LoadContent(); graphicsCompositor = new SceneGraphicsCompositorLayers { Cameras = { Camera.Get<CameraComponent>() }, Master = { Renderers = { new ClearRenderFrameRenderer { Color = Color.Green, Name = "Clear frame" }, new SceneDelegateRenderer(PreCameraRendererDraw), new SceneCameraRenderer { Mode = SceneCameraRenderer }, new SceneDelegateRenderer(PostCameraRendererDraw), } } }; Scene = new Scene { Settings = { GraphicsCompositor = graphicsCompositor } }; Scene.AddChild(Camera); var ambientLight = new Entity { new LightComponent { Type = new LightAmbient { Color = new LightColorRgb(Color.White) }, Intensity = 1 } }; Scene.AddChild(ambientLight); SceneSystem.SceneInstance = new SceneInstance(Services, Scene); }
/// <summary> /// Creates the new scene file. The default scene contains set of simple actors. /// </summary> /// <param name="path">The path.</param> public void CreateSceneFile(string path) { // Create a sample scene var scene = new Scene(); scene.StaticFlags = StaticFlags.FullyStatic; // var sun = scene.AddChild <DirectionalLight>(); sun.Name = "Sun"; sun.LocalPosition = new Vector3(40, 160, 0); sun.LocalEulerAngles = new Vector3(45, 0, 0); sun.StaticFlags = StaticFlags.FullyStatic; // var sky = scene.AddChild <Sky>(); sky.Name = "Sky"; sky.LocalPosition = new Vector3(40, 150, 0); sky.SunLight = sun; sky.StaticFlags = StaticFlags.FullyStatic; // var skyLight = scene.AddChild <SkyLight>(); skyLight.Mode = SkyLight.Modes.CustomTexture; skyLight.Brightness = 2.5f; skyLight.CustomTexture = FlaxEngine.Content.LoadAsyncInternal <CubeTexture>(EditorAssets.DefaultSkyCubeTexture); skyLight.StaticFlags = StaticFlags.FullyStatic; // var floor = scene.AddChild <StaticModel>(); floor.Name = "Floor"; floor.Scale = new Vector3(4, 0.5f, 4); floor.Model = FlaxEngine.Content.LoadAsync <Model>(StringUtils.CombinePaths(Globals.EngineContentFolder, "Editor/Primitives/Cube.flax")); if (floor.Model) { floor.Model.WaitForLoaded(); floor.SetMaterial(0, FlaxEngine.Content.LoadAsync <MaterialBase>(StringUtils.CombinePaths(Globals.EngineContentFolder, "Engine/WhiteMaterial.flax"))); } floor.StaticFlags = StaticFlags.FullyStatic; // var cam = scene.AddChild <Camera>(); cam.Name = "Camera"; cam.Position = new Vector3(0, 150, -300); // Serialize var bytes = Level.SaveSceneToBytes(scene); // Cleanup Object.Destroy(ref scene); if (bytes == null || bytes.Length == 0) { throw new Exception("Failed to serialize scene."); } // Write to file using (var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read)) fileStream.Write(bytes, 0, bytes.Length); }
protected override async Task LoadContent() { await base.LoadContent(); mainCamera = new Entity { new CameraComponent { AspectRatio = 8 / 4.8f, FarClipPlane = 5, NearClipPlane = 1, VerticalFieldOfView = MathUtil.RadiansToDegrees(0.6f), UseCustomViewMatrix = true, ViewMatrix = Matrix.LookAtRH(new Vector3(2, 1, 2), new Vector3(), Vector3.UnitY), }, new TransformComponent { Position = new Vector3(2, 1, 2) } }; CreatePipeline(); var primitive = GeometricPrimitive.Teapot.New(GraphicsDevice); var material = Asset.Load <Material>("BasicMaterial"); teapot = new Entity { new ModelComponent { Model = new Model { material, new Mesh { Draw = primitive.ToMeshDraw(), MaterialIndex = 0, } } }, new TransformComponent() }; var ambientLight = new Entity("Ambient Light") { new LightComponent { Type = new LightAmbient(), Intensity = 1f } }; scene.AddChild(teapot); scene.AddChild(mainCamera); scene.AddChild(ambientLight); // Add a custom script if (rotateModel) { Script.AddTask(GameScript1); } }
public void AddToScene(Scene scene) { scene.AddChild(sprite); // add this player sprite scene.AddChild(gravitywell_1.sprite); foreach(BulletObjectAbstract bullet in gravityWeapon.bulletsArray) { scene.AddChild(bullet.sprite); } }
public static Scene MakeTestGameScene() { // System.Console.WriteLine( "MakeTestGameScene" ); var scene = new Scene() { Name = "GameScene" }; scene.Camera2D.SetViewFromWidthAndCenter(10.0f, new Vector2(3.5f, 2.6f)); PlanetCute voxel_world = new PlanetCute(new Vector3i(7, 7, 6)); SpriteUV background = new SpriteUV(); background = new SpriteUV(); // background rectangle background.BlendMode = BlendMode.None; background.TextureInfo = new TextureInfo(new Texture2D("/Application/Sample/GameEngine2D/FeatureCatalog/data/PlanetCute/bluegrad.png", false)); scene.AddChild(background); scene.RegisterDisposeOnExit((System.IDisposable)background.TextureInfo); background.Schedule((dt) => { background.Quad = new TRS(scene.Camera2D.CalcBounds()); }); /* * // ShadowSideWest test * voxel_world.SetBlock( new Vector3i(0,1,0), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(0,0,1), PlanetCute.StoneBlock ); */ /* * // ShadowWest test * voxel_world.SetBlock( new Vector3i(0,0,1), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(1,0,0), PlanetCute.StoneBlock ); */ /* * voxel_world.SetBlock( new Vector3i(0,0,1), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(1,0,1), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(2,0,1), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(0,1,1), PlanetCute.StoneBlock ); * * voxel_world.SetBlock( new Vector3i(1,1,0), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(2,1,1), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(0,2,1), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(1,2,1), PlanetCute.StoneBlock ); * voxel_world.SetBlock( new Vector3i(2,2,1), PlanetCute.StoneBlock ); */ voxel_world.CreateRPGTestScene(); scene.AddChild(voxel_world); return(scene); }
public void Setup() { Scene = Director.Instance.CurrentScene; textBox = new TextBox(); TextLayer = new Layer(); AVGlayer = new Layer(); Scene.AddChild(AVGlayer); Scene.AddChild(TextLayer); textBox.NewTextBox(); textBox.textBG.ChangeFather(TextLayer); textBox.textBG.ObjectTouched += new TouchInputDelegate(Input); }
private void CreateScene() { _scene = new Scene(); var octree = _scene.CreateComponent <Octree>(); // Camera var cameraNode = new Node { Name = "CameraNode", Position = new Vector3(120, 120, 120), Rotation = new Quaternion(-0.121f, 0.878f, -0.305f, -0.35f), }; var camera = new Camera(); cameraNode.AddComponent(camera); _scene.AddChild(cameraNode); // Light var lightNode = new Node { Name = "LightNode" }; var light = new Light { LightType = LightType.Point, Range = 600, Brightness = 1.3f }; lightNode.AddComponent(light); _scene.AddChild(lightNode); // Chart var backgroundColor = Xamarin.Forms.Color.Transparent; if (Chart.IsValid == true) { CreateChartAsync(); backgroundColor = Chart.BackgroundColor; } // Viewport and background color var viewport = new Viewport(Context, _scene, camera); Renderer.SetViewport(0, viewport); viewport.SetClearColor(ConvertToUrhoColor(backgroundColor)); // Input events Input.TouchEnd += OnTouched; }
public void AttemptMissileLaunch(double currentTime) { if (health <= 0) { return; } double timeSinceLastFired = currentTime - timeLastFiredMissile; if (timeSinceLastFired > firingInterval) { timeLastFiredMissile = currentTime; // avoid duplicating costly math ops float shipDirection = ShipOrientation; float cos = (float)Math.Cos(shipDirection); float sin = (float)Math.Sin(shipDirection); var position = new CGPoint(Position.X + missileLaunchDistance * cos, Position.Y + missileLaunchDistance * sin); SKNode missile = NodeFactory.CreateMissileNode(this); missile.Position = position; Scene.AddChild(missile); missile.PhysicsBody.Velocity = PhysicsBody.Velocity; var vector = new CGVector(missileLaunchImpulse * cos, missileLaunchImpulse * sin); missile.PhysicsBody.ApplyImpulse(vector); } }
void Explode() { // Create a bunch of explosion emitters and send them flying in all directions. Then remove the ship from the scene. for (int i = 0; i < numberOfChunks; i++) { SKEmitterNode explosion = NodeFactory.CreateExplosionNode(Scene, shipExplosionDuration); float angle = myRand(0, (float)Math.PI * 2); float speed = myRand(shipChunkMinimumSpeed, shipChunkMaximumSpeed); var x = myRand((float)Position.X - shipChunkDispersion, (float)Position.X + shipChunkDispersion); var y = myRand((float)Position.Y - shipChunkDispersion, (float)Position.Y + shipChunkDispersion); explosion.Position = new CGPoint(x, y); var body = SKPhysicsBody.CreateCircularBody(0.25f); body.CollisionBitMask = 0; body.ContactTestBitMask = 0; body.CategoryBitMask = 0; body.Velocity = new CGVector((float)Math.Cos(angle) * speed, (float)Math.Sin(angle) * speed); explosion.PhysicsBody = body; Scene.AddChild(explosion); } RunAction(SKAction.Sequence( SKAction.WaitForDuration(removeShipTime), SKAction.RemoveFromParent() )); }
//delegate void InitDelegate(); //void Init() //{ // if (this.InvokeRequired) // this.Invoke(new InitDelegate(_Init)); // else // _Init(); //} void Init(object sender, EventArgs args) { this.scenePattern = Library.GetScenePattern("snptrn0");//new ScenePattern("ScenePattern"); this.scene = (Scene)this.soshiant33Panel.engine.AddChild(this.scenePattern, null); this.scene.رنگ_زمینه = this.BackColor; this.scene.Pause(); //base Plane SpritePattern plane = new SpritePattern("Plane Pattern"); SpriteState state = plane.AddNewState("st0"); state.صورت = "basePlane.x"; state.AddNewKeyFrame(0); Sprite basePlane = (Sprite)scene.AddChild(plane, null); basePlane.مولفه_ها.موقعیت.z = 1000; //Target Sprite this.spritePattern = new SpritePattern("SpritePatern" + patternCounter++.ToString()); this.sprite = (Sprite)this.scene.AddChild(this.spritePattern, null); this.soshiant33Panel.engine.camera.Fly(250); this.soshiant33Panel.engine.camera.Pitch(0.4f); this.soshiant33Panel.engine.camera.Walk(220); this.soshiant33Panel.engine.Resize(this.soshiant33Panel.Width, this.soshiant33Panel.Height); //this.splitContainer2.SplitterDistance = 200; if (this.OnTurnedOn != null) { this.OnTurnedOn(this, null); } }
public virtual void AddToScene(Scene _scene) { if (sprite != null) { _scene.AddChild(sprite); } }
protected override async Task LoadContent() { await base.LoadContent(); graphicsCompositor = new SceneGraphicsCompositorLayers { Cameras = { Camera.Get <CameraComponent>() }, Master = { Renderers = { new ClearRenderFrameRenderer { Color = Color.Green, Name = "Clear frame" }, new SceneDelegateRenderer(PreCameraRendererDraw), new SceneCameraRenderer { Mode = SceneCameraRenderer }, new SceneDelegateRenderer(PostCameraRendererDraw), } } }; Scene = new Scene { Settings = { GraphicsCompositor = graphicsCompositor } }; Scene.AddChild(Camera); SceneSystem.SceneInstance = new SceneInstance(Services, Scene); }
public void ReOrderZ(Scene scene) { sprite = null; sprite = new SpriteUV(textureInfo); sprite.Quad.S = textureInfo.TextureSizef; sprite.Position = new Vector2(0.0f, 0.0f); scene.AddChild(sprite); sprite.Visible = false; restartButtonSprite = null; restartButtonSprite = new SpriteUV(restartButtonTexture); restartButtonSprite.Quad.S = restartButtonTexture.TextureSizef; restartButtonSprite.Position = new Vector2(0.0f, 0.0f); scene.AddChild(restartButtonSprite); restartButtonSprite.Visible = false; }
public static Scene MakeManySpritesScene() { var tex1 = new TextureInfo(new Texture2D("/Application/Sample/GameEngine2D/FeatureCatalog/data/slime_green_frames.png", false) , new Vector2i(4, 4)); var scene = new Scene() { Name = "many SpriteUV scene" }; Bounds2 bounds = scene.Camera.CalcBounds(); Vector2i num_cells = new Vector2i(8, 8); Vector2 cell_size = bounds.Size / num_cells.Vector2(); Math.RandGenerator rgen = new Math.RandGenerator(); System.Random random = new System.Random(); for (int y = 0; y < num_cells.Y; ++y) { for (int x = 0; x < num_cells.X; ++x) { Vector2 uv = new Vector2((float)x, (float)y) / num_cells.Vector2(); var sprite = new SpriteTile() { TextureInfo = tex1 , Color = Math.SetAlpha(new Vector4(0.5f) + rgen.NextVector4(Math._0000, Math._1111) * 0.5f, 0.75f) //, Color = Math.SetAlpha( new Vector4(0.5f), 1f/*0.75f*/ ) , BlendMode = BlendMode.None , TileIndex2D = new Vector2i(random.Next(0, 4), random.Next(0, 4)) }; Vector2 p = bounds.Min + bounds.Size * uv; // init position/size sprite.Position = p; sprite.Quad.S = cell_size; // note: we don't want to touch the Node.Scale here sprite.Pivot = sprite.Quad.S * 0.5f; sprite.Schedule((dt) => { sprite.Rotation = sprite.Rotation.Rotate(Math.Deg2Rad(1.0f)); sprite.Rotation = sprite.Rotation.Normalize(); if (Common.FrameCount % 8 == 0) { sprite.TileIndex1D = (sprite.TileIndex1D + 1) % 16; } }); scene.AddChild(sprite); } } scene.RegisterDisposeOnExit((System.IDisposable)tex1); return(scene); }
public static void Scene_AddComponent_HasChildren_PreInitializeTest() { using (var scene = new Scene()) using (var child1 = new TestComponent()) using (var child2 = new TestComponent()) using (var parent = new TestComponent()) { parent.AddChild(child1); parent.AddChild(child2); var parentHasBeenAdded = false; var child1HasBeenAdded = false; var child2HasBeenAdded = false; scene.ComponentAdded += (object sender, BaseComponent e) => parentHasBeenAdded = parentHasBeenAdded || e == parent; scene.ComponentAdded += (object sender, BaseComponent e) => child1HasBeenAdded = child1HasBeenAdded || e == child1; scene.ComponentAdded += (object sender, BaseComponent e) => child2HasBeenAdded = child2HasBeenAdded || e == child2; scene.AddChild(parent); Assert.False(parentHasBeenAdded); Assert.False(child1HasBeenAdded); Assert.False(child2HasBeenAdded); scene.Initialize(Substitute.For <IGame>()); Assert.True(parentHasBeenAdded); Assert.True(child1HasBeenAdded); Assert.True(child2HasBeenAdded); Assert.False(scene.Children.Contains(child1)); Assert.False(scene.Children.Contains(child2)); Assert.Contains(parent, scene.Children.ToList()); } }
public static void love_graphics_draw(TextureInfo drawable, float x, float y, float r, float sx, float sy, float ox, float oy) { // create a new sprite var sprite = new SpriteUV() { TextureInfo = drawable }; // make the texture 1:1 on screen sprite.Quad.S = drawable.TextureSizef; // center the sprite around its own .Position // (by default .Position is the lower left bit of the sprite) sprite.CenterSprite(TRS.Local.TopLeft); // our scene only has 2 nodes: scene->sprite scene.AddChild(sprite); sprite.Position = new Vector2(x - ox, 544 - y + oy); sprite.Pivot = new Vector2(ox, -oy); sprite.Scale = new Vector2(sx, sy); sprite.Rotate(-r); sprite.BlendMode = BlendMode.Normal; sprite.Color = setColor; }
// Public functions. public Player(Scene scene) { textureInfo = new TextureInfo(new Texture2D("/Application/assets/player-spritemap.png", false), new Vector2i(13, 1)); sprite = new SpriteTile(textureInfo); sprite.Position = new Vector2(AppMain.ScreenWidth * .2f, AppMain.ScreenHeight * .5f); sprite.Quad.S = textureInfo.TileSizeInPixelsf; sprite.CenterSprite(TRS.Local.Center); // Player variables isAlive = true; moveState = MoveStatus.Disabled; rotateAngle = .0f; // Attach update fucntion to scheduler sprite.Schedule(Update); // Create animation function sprite.ScheduleInterval((dt) => { if (IsAlive) { int tileIndex = sprite.TileIndex1D < 8 ? sprite.TileIndex1D + 1 : 1; sprite.TileIndex1D = tileIndex; } }, 0.2f); sprite.ScheduleInterval((dt) => { if (!IsAlive) { int tileIndex = sprite.TileIndex1D < 12 ? sprite.TileIndex1D + 1 : 12; sprite.TileIndex1D = tileIndex; } }, 0.16f); // Add to the current scene. scene.AddChild(sprite); }
public void LoadScene(string scene) { _scene = new Scene(); _scene.LoadXml(scene); var camera = _scene.GetComponent <Camera>(true); if (camera != null) { CameraNode = camera.Node; } else { CameraNode = new Node(); CameraNode.CreateComponent <Camera>(); _scene.AddChild(CameraNode); } Light = null; var model = _scene.GetComponent <StaticModel>(true); if (model != null) { PreviewNode = model.Node; } NotifyNodes(); }
// Public functions. public Obstacle(float startX, Scene scene) { textureInfo = new TextureInfo(new Texture2D("/Application/assets/zombie_pipes.png", false), new Vector2i(4, 8)); sprites = new SpriteTile[2]; // Top sprites[0] = new SpriteTile(textureInfo); sprites[0].Quad.S = textureInfo.TileSizeInPixelsf; sprites[0].TileIndex2D = new Vector2i(0, (int)RandomPosition(0f, 4f)); // Add to the current scene. scene.AddChild(sprites[0]); // Bottom sprites[1] = new SpriteTile(textureInfo); sprites[1].Quad.S = textureInfo.TileSizeInPixelsf; sprites[1].TileIndex2D = new Vector2i(0, (int)RandomPosition(0f, 4f)); // Add to the current scene. scene.AddChild(sprites[1]); // Get sprite bounds. Bounds2 b = sprites[0].Quad.Bounds2(); width = b.Point10.X; height = b.Point11.Y; // Position pipes. sprites[0].Position = new Vector2(startX, AppMain.ScreenHeight * RandomPosition(0.5f, 1.0f - height / AppMain.ScreenHeight / 2)); sprites[1].Position = new Vector2(startX, AppMain.ScreenHeight * RandomPosition(-height / AppMain.ScreenHeight / 2, 0.4f)); // Position gap rect pipeGap = new Bounds2(new Vector2(sprites[1].Position.X, sprites[1].Position.Y + height), new Vector2(sprites[0].Position.X + width, sprites[0].Position.Y)); isGapOccupied = false; sprites[0].Schedule(Update); // Animations sprites[0].ScheduleInterval((dt) => { int tileIndex = sprites[0].TileIndex2D.X < 4 ? sprites[0].TileIndex2D.X + 1: 0; sprites[0].TileIndex2D = new Vector2i(sprites[0].TileIndex2D.Y, tileIndex); }, 0.25f); sprites[1].Schedule(Update); sprites[0].ScheduleInterval((dt) => { int tileIndex = sprites[1].TileIndex2D.X < 4 ? sprites[1].TileIndex2D.X + 1: 0; sprites[1].TileIndex2D = new Vector2i(sprites[1].TileIndex2D.Y, tileIndex); }, 0.25f); }
void AddTexturedSprite() { using (SKSpriteNode sprite = new SKSpriteNode("Art/rocket.png")) { sprite.Position = new CGPoint(Scene.Frame.GetMidX() - 200, Scene.Frame.GetMidY()); sprite.AddDescription("Texture Sprite", new CGPoint(0, -sprite.Size.Height / 2 - 30)); Scene.AddChild(sprite); } }
private void LoadPrefab() { var node = new Node(); node.LoadXml(_sceneName); CreateSimpleScene(); Scene.AddChild(node); }
void AddColoredSprite() { using (SKSpriteNode sprite = new SKSpriteNode(UIColor.Red, new CGSize(128, 128))) { sprite.Position = new CGPoint(Scene.Frame.GetMidX() + 200, Scene.Frame.GetMidY()); sprite.AddDescription("Color Sprite", new CGPoint(0, -sprite.Size.Height / 2 - 30)); Scene.AddChild(sprite); } }
protected override async Task LoadContent() { await base.LoadContent(); var background = new Entity { new BackgroundComponent { Texture = Asset.Load <Texture>("ParadoxBackground") } }; Scene.AddChild(background); button1 = new Button { Content = new TextBlock { Text = "text block button 1", Font = Asset.Load <SpriteFont>("CourierNew12"), SynchronousCharacterGeneration = true } }; button1.SetCanvasRelativePosition(new Vector3(0.025f, 0.05f, 0f)); edit1 = new EditText(Services) { Text = "Edit text 1", Font = Asset.Load <SpriteFont>("CourierNew12"), SynchronousCharacterGeneration = true, }; edit1.SetCanvasRelativePosition(new Vector3(0.025f, 0.15f, 0f)); button2 = new Button { Content = new TextBlock { Text = "text block button 2", Font = Asset.Load <SpriteFont>("MicrosoftSansSerif15"), SynchronousCharacterGeneration = true } }; edit2 = new EditText(Services) { Text = "Edit text 2", Font = Asset.Load <SpriteFont>("MicrosoftSansSerif15"), }; stackPanel = new StackPanel { Children = { button2, edit2 }, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Orientation = Orientation.Horizontal }; stackPanel.SetCanvasRelativePosition(new Vector3(0.5f, 0.5f, 0f)); stackPanel.SetCanvasPinOrigin(new Vector3(.5f)); canvas = new Canvas { Children = { button1, edit1, stackPanel }, CanBeHitByUser = true }; button1.MouseOverStateChanged += (sender, args) => { triggeredButton1 = true; oldValueButton1 = args.OldValue; newValueButton1 = args.NewValue; }; button2.MouseOverStateChanged += (sender, args) => { triggeredButton2 = true; }; edit1.MouseOverStateChanged += (sender, args) => { triggeredEdit1 = true; }; edit2.MouseOverStateChanged += (sender, args) => { triggeredEdit2 = true; }; canvas.MouseOverStateChanged += (sender, args) => { triggeredCanvas = true; }; stackPanel.MouseOverStateChanged += (sender, args) => { triggeredStackPanel = true; }; UIComponent.RootElement = canvas; }
public GameOverScreen(Scene scene) : base(scene) { textureInfo = new TextureInfo("/Application/textures/gameOver.png"); sprite = new SpriteUV(); sprite = new SpriteUV(textureInfo); sprite.Quad.S = textureInfo.TextureSizef; sprite.Position = new Vector2(0.0f, 0.0f); scene.AddChild(sprite); sprite.Visible = false; restartButtonTexture = new TextureInfo("/Application/textures/restartButton.png"); restartButtonSprite = new SpriteUV(); restartButtonSprite = new SpriteUV(restartButtonTexture); restartButtonSprite.Quad.S = restartButtonTexture.TextureSizef; restartButtonSprite.Position = new Vector2(0.0f, 0.0f); scene.AddChild(restartButtonSprite); restartButtonSprite.Visible = false; }
public Tank(Scene scene) { // Tank Base texture2D = new Texture2D("/Application/Assets/tankBase2.png", false); numTiles = new Vector2i(1, 1); // tiles in the sprite sheet tiles = new Vector2i(0, 0); // tile you are displaying textureInfo = new TextureInfo(texture2D, numTiles); sprite = new SpriteTile(textureInfo); sprite.Quad.S = new Vector2(textureInfo.TextureSizef.X, textureInfo.TextureSizef.Y); sprite.TileIndex2D = tiles; // sets which tile you are viewing sprite.CenterSprite(); // tank turret turretTex = new TextureInfo("/Application/Assets/tankTurret2.png"); turret = new SpriteUV(turretTex); turret.Quad.S = turretTex.TextureSizef; turret.CenterSprite(TRS.Local.Center); if (SceneManager.Instance.rand.NextDouble() > 0.5) { leftRight = true; sprite.Rotate((float)System.Math.PI / 2); //turret.Rotate((float)System.Math.PI/2); } else { leftRight = false; sprite.Rotate(-(float)System.Math.PI / 2); //turret.Rotate(-(float)System.Math.PI/2); } speed = (float)SceneManager.Instance.rand.NextDouble() * 800.0f; position = new Vector2(300.0f, 300.0f); minSpeed = 100; maxSpeed = 200; setRandom(); scene.AddChild(sprite); scene.AddChild(turret); }
/// <summary> /// Create an instance of the game test /// </summary> public UITestGameBase() { StopOnFrameCount = -1; GraphicsDeviceManager.PreferredGraphicsProfile = new [] { GraphicsProfile.Level_11_0 }; graphicsCompositor = new SceneGraphicsCompositorLayers { Cameras = { Camera.Get <CameraComponent>() }, Master = { Renderers = { new ClearRenderFrameRenderer { Color = Color.Green, Name = "Clear frame" }, new SceneDelegateRenderer(SpecificDrawBeforeUI) { Name = "Delegate before main UI" }, new SceneCameraRenderer { Mode = SceneCameraRenderer }, } } }; Scene = new Scene { Settings = { GraphicsCompositor = graphicsCompositor } }; Scene.AddChild(UIRoot); Scene.AddChild(Camera); Camera.Transform.Position = new Vector3(0, 0, 1000); UIComponent.IsFullScreen = true; UIComponent.VirtualResolution = new Vector3(1000, 500, 500); UIComponent.VirtualResolutionMode = VirtualResolutionMode.FixedWidthFixedHeight; }
void AddLight() { SKSpriteNode sprite = new SKSpriteNode("Art/spark.png") { Position = GetRandomPosition(), BlendMode = SKBlendMode.Add, Alpha = 0.5f }; sprite.SetScale(2f); Scene.AddChild(sprite); }
protected override async Task LoadContent() { await base.LoadContent(); // sets the virtual resolution areaSize = new Vector2(GraphicsDevice.BackBuffer.Width, GraphicsDevice.BackBuffer.Height); // Creates the camera CameraComponent.UseCustomProjectionMatrix = true; CameraComponent.ProjectionMatrix = Matrix.OrthoRH(areaSize.X, areaSize.Y, -2, 2); // Load assets groundSprites = Asset.Load <SpriteSheet>("GroundSprite"); ballSprite1 = Asset.Load <SpriteSheet>("BallSprite1"); ballSprite2 = Asset.Load <SpriteSheet>("BallSprite2"); ball = new Entity { new SpriteComponent { SpriteProvider = new SpriteFromSheet { Sheet = Asset.Load <SpriteSheet>("BallSprite1") } } }; // create fore/background entities foreground = new Entity(); background = new Entity(); foreground.Add(new SpriteComponent { SpriteProvider = new SpriteFromSheet { Sheet = groundSprites }, CurrentFrame = 1 }); background.Add(new SpriteComponent { SpriteProvider = new SpriteFromSheet { Sheet = groundSprites }, CurrentFrame = 0 }); Scene.AddChild(ball); Scene.AddChild(foreground); Scene.AddChild(background); spriteComponent = ball.Get(SpriteComponent.Key); transfoComponent = ball.Get(TransformComponent.Key); var decorationScalings = new Vector3(areaSize.X, areaSize.Y, 1); background.Get(TransformComponent.Key).Scale = decorationScalings; foreground.Get(TransformComponent.Key).Scale = decorationScalings / 2; background.Get(TransformComponent.Key).Position = new Vector3(0, 0, -1); foreground.Get(TransformComponent.Key).Position = new Vector3(0, 0, 1); SpriteAnimation.Play(spriteComponent, 0, spriteComponent.SpriteProvider.SpritesCount - 1, AnimationRepeatMode.LoopInfinite, 30); }
void CreateScene() { // 3D scene with Octree scene = new Scene(Context); scene.CreateComponent <Octree>(); // models this.AddModel("Suzanne"); this.AddModel("Cube"); this.AddModel("Teapot"); CurrentModel = "Cube"; // Light Node lightNode = scene.CreateChild(name: "light"); var light = lightNode.CreateComponent <Light>(); light.Range = 20; light.Brightness = 0.9f; lightNode.Position = new Vector3(x: 5, y: 5, z: 8); //skybox var skyNode = scene.CreateChild("Sky"); skyNode.SetScale(500.0f); // The scale actually does not matter var skybox = skyNode.CreateComponent <Skybox>(); skybox.Model = ResourceCache.GetModel("Models/Box.mdl"); skybox.SetMaterial(ResourceCache.GetMaterial("Materials/Skybox3.xml")); var origin = new Vector3(0.0f, 0.0f, 0.0f); // Camera CameraNode = new LookSphereNode(name: "camera", center: () => UserNodes[CurrentModel].Position); CameraNode.Radius = 4.0f; scene.AddChild(CameraNode); Camera = CameraNode.CreateComponent <Camera>(); SetPanelMode(PanelMode.Material); ///I left this is as a demonstration of saving data. All urho data structures can be exported as xml this way. //String filename = ResourceCache.GetResourceFileName("Scenes/Scene.xml"); //Urho.IO.File file = new Urho.IO.File(Context,filename, Urho.IO.FileMode.ReadWrite); //scene.SaveXml(file, "\t"); // This is here to demonstrate how animations can be done. // Do actions //await model1Node.RunActionsAsync(new EaseBounceOut(new ScaleTo(duration: 1f, scale: 1))); //await boxNode.RunActionsAsync(new RepeatForever(new MoveBy(duration: 1, position: new Vector3(0.001f, 0.0f, 0.0f)))); //await boxNode.RunActionsAsync(new RepeatForever( // new RotateBy(duration: 5, deltaAngleX: 0, deltaAngleY: 90, deltaAngleZ: 0))); }
protected override async Task LoadContent() { await base.LoadContent(); var cube = new Entity { new ModelComponent { Model = Asset.Load <Model>("cube Model") } }; cube.Transform.Scale = new Vector3(10000); cube.Transform.Position = new Vector3(0, 0, 10); Scene.AddChild(cube); var imageElement = new ImageElement { Source = new Sprite(Asset.Load <Texture>("uv")) }; var imageEntity = new Entity { new UIComponent { RootElement = imageElement, IsFullScreen = false, VirtualResolution = new Vector3(150) } }; imageEntity.Transform.Position = new Vector3(-500, 0, 0); Scene.AddChild(imageEntity); var imageEntity2 = new Entity { new UIComponent { RootElement = imageElement, IsFullScreen = false, VirtualResolution = new Vector3(200) } }; imageEntity2.Transform.Position = new Vector3(0, 250, 0); Scene.AddChild(imageEntity2); var imageEntity3 = new Entity { new UIComponent { RootElement = imageElement, IsFullScreen = false, VirtualResolution = new Vector3(250) } }; imageEntity3.Transform.Position = new Vector3(0, 0, -500); Scene.AddChild(imageEntity3); // setup the camera var camera = new TestCamera { Yaw = MathUtil.Pi / 4, Pitch = MathUtil.Pi / 4, Position = new Vector3(500, 500, 500), MoveSpeed = 100 }; camera.SetTarget(cube, true); CameraComponent = camera.Camera; Script.Add(camera); }
public GamePage() { _logger = GameServiceLocator.Instance.Get <Logger>(); DeclarePannable(this); _blockSize = ORoot.ScreenUnit * AppSettings.BlockSizeU; var _background = new Background(); AddChild(_background); _scene = new Scene(); AddChild(_scene); _mapDisplayer = new MapDisplayer(); _scene.AddChild(_mapDisplayer); _objectsDisplayer = new ObjectsDisplayer(); _scene.AddChild(_objectsDisplayer); var upButton = new TextButton(Width / 2 - 100, 0.9f * Height, 50, "Reset"); var downButton = new TextButton(Width * 0.8f, 0.5f * Height, 100, "J"); upButton.Up += () => { _character.RealX = CharacterSpawnX; _character.RealY = CharacterSpawnY; _character.V = new Vector(); }; downButton.Down += () => { _character.TryJump(); }; AddChild(downButton); AddChild(upButton); }
void AddAnimatedAnchor() { SKSpriteNode animatedSprite = new SKSpriteNode("Art/rocket.png") { Position = new CGPoint(Scene.Frame.GetMidX() + 200, Scene.Frame.GetMidY()), AnchorPoint = CGPoint.Empty }; Scene.AddChild(animatedSprite); AddAnchorDotToSprite(animatedSprite); animatedSprite.RunAction(NewAnimateAnchorAction()); }
public override void Added(Scene scene) { Debug.Log("block added"); base.Added(scene); scene.AddChild (sprite); }