예제 #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
파일: Game.cs 프로젝트: JunyaHosokawa/PSM
        public void SpriteInitialize()
        {
            //オープニングタイトルのSpriteTileスプライトを構成する
            Texture2D texture_title = new Texture2D ("/Application/assets/PressStart.png", false);
            var textureInfo_title= new TextureInfo (texture_title,new Vector2i(1, 1));
            //ロードしたテクスチャでSpriteUVを初期化する
            Title = new SpriteTile () { TextureInfo = textureInfo_title};
            //テクスチャのサイズをスプライトのサイズとして設定
            Title.Quad.S = textureInfo_title.TextureSizef;
            // スプライト上のPositon座標の位置を設定
            Title.CenterSprite();

            //背景のSpriteTileスプライトを構成する
            Texture2D texture_background = new Texture2D ("/Application/assets/ag0.png", false);
            var textureInfo_background = new TextureInfo (texture_background,new Vector2i(1, 1));
            //ロードしたテクスチャでSpriteUVを初期化する
            Background = new SpriteTile () { TextureInfo = textureInfo_background};
            //テクスチャのサイズをスプライトのサイズとして設定
            Background.Quad.S = textureInfo_background.TextureSizef;
            // スプライト上のPositon座標の位置を設定
            Background.CenterSprite();

            //プレイヤーのSpriteTileスプライトを構成する
            Texture2D texture_player = new Texture2D ("/Application/assets/r23.png", false);
            var textureInfo_player = new TextureInfo (texture_player,new Vector2i(2, 1));
            //ロードしたテクスチャでSpriteUVを初期化する
            Player = new SpriteTile () { TextureInfo = textureInfo_player};
            //テクスチャのサイズをスプライトのサイズとして設定
            Player.Quad.S = textureInfo_player.TextureSizef;
            // スプライト上のPositon座標の位置を設定
            Player.CenterSprite ();//

            //TileIndex2D はこのスプライトに使われる UV を定義する
            Player.TileIndex2D = new Vector2i(0, 0);
            Player.Schedule( ( dt ) =>
            {
                        if ( TickCounter % 8 == 0 ) {
                             Player_animation_counter = Player_animation_counter==1 ? 0 : 1;
                            Player.TileIndex2D = new Vector2i(Player_animation_counter, 0);
                            //Console.WriteLine(Common.FrameCount);
                            }
            } );

            //蝙蝠のSpriteTileスプライトを構成する
            Texture2D texture_bat = new Texture2D ("/Application/assets/bat_frames.png", false);
            var textureInfo_bat = new TextureInfo (texture_bat,new Vector2i(2, 2));
            //ロードしたテクスチャでSpriteTileを初期化する
            Bat = new SpriteTile () { TextureInfo = textureInfo_bat};
            //テクスチャのサイズをスプライトのサイズとして設定
            Bat.Quad.S = textureInfo_bat.TextureSizef;
            //Batの大きさを半分にする
            Bat.Scale = new Vector2( 0.5f );
            // スプライト上のPositon座標の位置を設定
            Bat.CenterSprite ();//

            //TileIndex2D はこのスプライトに使われる UV を定義する
            Bat.TileIndex2D = new Vector2i(0, 0);
            Bat.Schedule( ( dt ) =>
            {
                        if ( TickCounter % 4 == 0 ) {
                            // Bat_animation_counter = (Bat_animation_counter++)%4;
                            Bat.TileIndex2D = new Vector2i((Bat_animation_counter++)%4, 0);
                            //Console.WriteLine(Common.FrameCount);
                            }
            } );
        }