示例#1
0
        public FishEnemy(Vector2 pos, PlayerCreature player)
        {
            enemyHabitat = Enemy.EnemyHabitat.ENEMY_HABITAT_SEA;
            enemyType = Enemy.EnemyType.ENEMY_TYPE_FISH;
            sprite = new SpriteTile();
            this.player = player;

            if (texInfo == null)
            {
                //texInfo = new TextureInfo ("/Application/assets/stingray_float.png");
                texInfo = new TextureInfo(AssetManager.GetTexture("stingray_float"), new Vector2i(4,1),TRS.Quad0_1);
            }

            if (spriteList == null)
            {
                spriteList = new SpriteList(texInfo);
            }

            spriteList.Position = new Vector2(0.0f,0.0f);
            spriteList.AddChild(sprite);

            Animations = new Dictionary<string, Animation>();
            //texInfo = new TextureInfo(AssetManager.GetTexture("stingray_float"), new Vector2i(4,1),TRS.Quad0_1);
            Animations.Add("idle" , new Animation(0, 3, 0.3f, false));
            CurrentAnimation = Animations["idle"];
            CurrentAnimation.Play();

            sprite.GetContentWorldBounds(ref boundingBox);
            sprite.Quad.S = new Vector2(321, 270);// map 1:1 on screen -- necessary? !!!\
            sprite.CenterSprite();
            sprite.Position = pos;
            sprite.Schedule((dt) => UpdateEnemyState(dt));
        }
示例#2
0
        public Bullet(Vector2 pos)
        {
            sprite = new SpriteUV();

            if (texInfo == null)
            {
                texInfo = new TextureInfo ("/Application/assets/bubble.png");
                //texInfo = new TextureInfo(AssetManager.GetTexture("bubble"), new Vector2i(4,1),TRS.Quad0_1);
            }

            if (spriteList == null)
            {
                spriteList = new SpriteList(texInfo);
                spriteList.Position = new Vector2(0.0f,0.0f);
            }

            spriteList.AddChild(sprite);
            sprite.Quad.S = texInfo.TextureSizef; // map 1:1 on screen -- necessary? !!!\
            sprite.RunAction(new ScaleTo(new Vector2(0.15f,0.15f),0.0f));

            sprite.GetContentWorldBounds(ref boundingBox);
            boundingBox = new Bounds2(pos, new Vector2(38,38));
            //sprite.CenterSprite();
            sprite.Position = pos;
            sprite.Schedule((dt) => Update());
        }
示例#3
0
 public void OpenTextureInFile(string name)
 {
     textureforOpening = new Texture2D(AssetsPrefix + name,false);
     tInfor = new TextureInfo(textureforOpening);
     sprite = new SpriteUV(tInfor);
     spriteList = new Sce.PlayStation.HighLevel.GameEngine2D.SpriteList(tInfor);
     spriteList.AddChild(sprite);
 }
示例#4
0
        public MapTestScene()
        {
            this.ScheduleUpdate ();

            animation = new Animation(0, 3, 0.1f, true);

            _random = new Random();
            //	bgm1 = new Bgm("/Application/assets/music1.mp3");
            //bgm2 = new Bgm("/Application/assets/root.mp3");
            //	player = bgm1.CreatePlayer();
            //player.Play ();
            SceneCamera = (Camera2D)Camera;
            var texInfo = new TextureInfo(AssetManager.GetTexture ("spritesheet"),new Vector2i(2,2), TRS.Quad0_1);
            _ground = new SpriteList(texInfo);
             _sprite = new SpriteTile(texInfo);

            _ground.AddChild(_sprite);
            _sprite.Quad.S = texInfo.TextureSizef;

            _sprite.CenterSprite();
            _sprite.TileIndex2D = new Vector2i(0,0);
            GenerateMap();
            AddChild(_ground);
        }
示例#5
0
 public void RemoveFromScene(SpriteList spriteList)
 {
     SpriteListsInScene.Remove(spriteList);
     Mode.RemoveFromScene(spriteList);
 }
示例#6
0
 public void AddToScene(SpriteList spriteList, Int32 order = 0)
 {
     SpriteListsInScene.Add(spriteList);
     Mode.AddToScene(spriteList, order);
 }
示例#7
0
        public SpriteList CreateSpriteList(String path, Object user, Int32 u, Int32 v)
        {
            if (String.IsNullOrWhiteSpace(path))
                throw new ArgumentException();

            AddTextureAsset(path, user, u, v);

            SpriteList sl = new SpriteList(GetTextureInfo(path));
            return sl;
        }
 public void AddToScene(SpriteList spriteList, Int32 order = 0)
 {
     SpriteListsInScene.Add(spriteList);
     GameScene.AddChild(spriteList, order);
 }
 public void RemoveFromScene(SpriteList spriteList)
 {
     SpriteListsInScene.Remove(spriteList);
     GameScene.RemoveChild(spriteList, false);
 }
示例#10
0
        public GamePlayScene()
        {
            this.ScheduleUpdate ();
            _garnishTimer = new Timer();
            _groundTimer = new Timer();
            _waterLevel = 272;
            _groundLevel = 120;
            _random = new Random();
            _garnishDelay = _random.Next(0,5);

            Vector2 ideal_screen_size = new Vector2(960.0f, 544.0f);
            SceneCamera = (Camera2D)Camera;

            SceneCamera.SetViewFromHeightAndCenter(ideal_screen_size.Y, ideal_screen_size / 2.0f);

            _groundGarnish = new Layer(SceneCamera);
            _mainLayer = new Layer(SceneCamera);
            _playerCreature = new PlayerCreature ();
            _playerCreature.sprite.Position = Camera.CalcBounds ().Center;
            _mainLayer.AddChild (_playerCreature.sprite);

            _backgroundLayer = new Layer(SceneCamera, 0, 0);
            var background = new SpriteTile(new TextureInfo(AssetManager.GetTexture("background_paper")));
            _backgroundLayer.AddChild(background);
            background.Quad.S = background.TextureInfo.TextureSizef;
            background.CenterSprite();
            background.Position = SceneCamera.CalcBounds().Center;

            _water = new SpriteTile(new TextureInfo(AssetManager.GetTexture("water")));
            _water.Quad.S = _water.TextureInfo.TextureSizef;
            _water.CenterSprite();
            _water.Position = SceneCamera.CalcBounds().Center + new Vector2(0, -244);

             _waterTop = new WaterTile(new TextureInfo(AssetManager.GetTexture("waveline")));
            _waterTop.Quad.S = _waterTop.TextureInfo.TextureSizef;
            _waterTop.CenterSprite();
            _waterTop.Position = _water.Position + new Vector2(0 ,_water.TextureInfo.TextureSizef.Y /2 );
            _waterTop.Position = SceneCamera.CalcBounds().Center + new Vector2(0, -244 + _water.TextureInfo.TextureSizef.Y/2f);

            _groundLayer = new Layer(SceneCamera, 1, 1);
            _groundGarnish = new Layer(SceneCamera, 1, 1);

            var texInfo = new TextureInfo(AssetManager.GetTexture ("ground_tile"));
            _ground = new SpriteList(texInfo);
            _sprite = new SpriteTile(texInfo);
            _ground.AddChild(_sprite);
            _sprite.Quad.S = texInfo.TextureSizef;
            _sprite.CenterSprite();
            _sprite.TileIndex2D = new Vector2i(0,0);

            GenerateMap();

            _enemies = new List<Enemy>();
            _bullets = new List<Bullet>();
            /*
            // enemy sprite test code
            var fish0 = new FishEnemy (new Vector2 (30.0f, 30.0f), _playerCreature);
            var fish1 = new FishEnemy (new Vector2 (15.0f, 15.0f), _playerCreature);
            var fish2 = new FishEnemy (new Vector2 (100.0f, 70.0f), _playerCreature);

            _enemies.Add (fish0);
            _enemies.Add (fish1);
            _enemies.Add (fish2);
            */
            var dummyFish = new FishEnemy (new Vector2 (-25.0f, -25.0f), _playerCreature);
            dummyFish.sprite.UnscheduleAll();
            _mainLayer.AddChild (FishEnemy.spriteList);

            var dummyBullet = new Bullet(new Vector2(-25.0f,-25.0f));
            dummyBullet.sprite.UnscheduleAll();
            //dummyBullet.sprite.Visible = false;
            _mainLayer.AddChild(Bullet.spriteList);

            _waterLayer = new Layer(SceneCamera);
            _waterLayer.AddChild(_water);
            _waterLayer.AddChild(_waterTop);

            _musicPlayer = AssetManager.GetBGM("gameplaymusic").CreatePlayer();
            _musicPlayer.Loop = true;
            _musicPlayer.Play();

            AddChild (_backgroundLayer);

            AddChild (_mainLayer);
            AddChild(_groundLayer);
            AddChild(_groundGarnish);
            AddChild(_waterLayer);

            _eventManager = new EventManager(_mainLayer,_playerCreature);
        }
示例#11
0
        public static Sce.PlayStation.HighLevel.GameEngine2D.SpriteList TiledSpriteListFromFile(string filename, int x, int y)
        {
            if (TextureCache.ContainsKey(filename) == false)
            {
                TextureCache[filename] = new Texture2D(filename, false);
                TextureInfoCache[filename] = new TextureInfo(TextureCache[filename], new Vector2i(x, y));
            }

            var tex = TextureCache[filename];
            var info = TextureInfoCache[filename];
            var result = new Sce.PlayStation.HighLevel.GameEngine2D.SpriteList(info);

            tex.SetFilter(DefaultTextureFilterMode);

            return result;
        }