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