Mọi thứ đều hoạt động tốt chỉ duy nhất sự kiện Tap trong Update() không hoạt động !... Mấy anh nào có kinh nghiệm giúp e với ?????
Mã:
class Animation { Texture2D texture; Rectangle rectanle; Vector2 pos; Vector2 tmp_pos; Vector2 origin; //MenuButtons _jump = new MenuButtons(); int currentFrame; int heightFrame; int widthFream; float timer; float interval=75; public bool touch; bool jump; //Rectangle tv; public void Load(ContentManager Content) { texture = Content.Load<Texture2D>("Image/Pig"); pos = new Vector2(180, 320); heightFrame = 58; widthFream = 70; jump = false; touch = false; //_jump.position = new Vector2(0,0); //_jump.texture = Content.Load<Texture2D>("Jump"); } public void Update(GameTime gameTime) { //Animation rectanle = new Rectangle(currentFrame * widthFream, 0, widthFream, heightFrame); origin = new Vector2(rectanle.Width / 2, rectanle.Height / 2); if (jump == false) AnimateRight(gameTime); //Jump pos.Y += tmp_pos.Y; while (TouchPanel.IsGestureAvailable) { GestureSample ges = TouchPanel.ReadGesture(); if (ges.GestureType == GestureType.Tap) touch = true; } if (touch == true) Jump(); } public void Jump() { if(jump==false) { pos.Y -= 10f; tmp_pos.Y = -15f; if (pos.Y < 100) jump = true; } if (jump == true) { float i = 1f; tmp_pos.Y += 0.15f + i; } if (pos.Y + heightFrame > 320) { jump = false; touch = false; pos.Y = 320; } if (jump == false) { tmp_pos.Y = 0f; } } public void AnimateRight(GameTime gameTime) { timer += (float)gameTime.ElapsedGameTime.TotalMilliseconds / 2; if (timer > interval) { currentFrame++; timer = 0; if (currentFrame > 1) currentFrame = 0; } } public void Draw(SpriteBatch sp) { sp.Draw(texture, pos, rectanle, Color.White, 0f, origin, 1.0f, SpriteEffects.None, 0); //sp.Draw(_jump.texture, _jump.position, Color.White); } }
View more random threads:
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...