Admin đã trở lại và lợi hại gấp đôi :D

Sun May 18, 2014 1:05 pm by admin_huyetsat

Sorry mọi người vì mình vắng mặt quá lâu, mình là HuyetSat, admin đây.

Hiện tại mình đã chuyển nền tảng phát triển game sang mobile (dùng libgdx framework) và cũng đang dev game và up lên play store, ai dùng đt android thì tải về ủng hộ ad nha:

play.google.com/store/apps/developer?id=Top+Game+Free

[img]…

[ Full reading ]

Comments: 1

Game4V và Event "Viết bài hay, nhận ngay quà tặng"

Mon Feb 20, 2012 11:18 pm by noheart91

Game4V là một trong những cộng đồng game thủ đầu tiên của Việt Nam với lịch sử hơn 5 năm hình thành và phát triển. Sau nhiều biến động, có thể nói hiện nay G4V là một cộng đồng game hoạt động hoàn toàn độc lập, không bị ảnh hưởng bởi tổ chức chuyên nghiệp nào với nền tảng máy chủ được trang bị từ …

[ Full reading ]

Comments: 0

cho minh tham gia lam game

Sat Sep 03, 2011 8:56 am by nvtu553

cho minh đăng kí 1 chổ nha;minh muốn dăng kí làm code
thanks,

Comments: 0

Mình sẽ tạm dừng hoạt động một thời gian

Fri Sep 02, 2011 7:19 am by HuyetSat

Vì lý do cá nhân nên tạm thời mình sẽ ko support xna trên các diễn đàn nữa.

Bạn nào gặp vấn đề về xna cứ mail trực tiếp cho mình.
thanh_vinh648@yahoo.com

Thân

Comments: 0

xin cho minh tham gia voi

Fri Apr 15, 2011 12:35 am by luongthanhbinh3824

Mình giỏi 3ds max có thể cho mình làm designer được không anh HuyetSat
Email: thanh_binh3824@yahoo.com
Phone: 0633703673

Comments: 1

Latest topics
» Xin TUT game bắn trứng khủng long
by anhkhoa2110 Mon Mar 16, 2015 4:29 pm

» xna getRGB texture image?
by bachdienquan Thu Feb 05, 2015 8:34 am

» Cần giúp đỡ về hiệu ứng hình ảnh khi va chạm
by phiemltv Fri Nov 28, 2014 12:20 pm

» Cho mình hỏi về boundbox
by septimus2810 Mon Jul 21, 2014 10:08 am

» Hỏi về cách di chuyển 1 điểm ở tọa độ này sang tọa độ khác cho trước.
by septimus2810 Mon Jul 21, 2014 10:02 am

» Admin đã trở lại và lợi hại gấp đôi :D
by konamij Fri Jun 27, 2014 2:50 pm

» lỗi An unhandled exception of type 'System.NullReferenceException'
by _VH_HV_ Mon Jun 16, 2014 1:59 pm

» networking cho game xna 2d
by admin_huyetsat Tue May 20, 2014 1:04 pm

» hướng dẫn traning C# chuẩn bị cho xna
by lqchinh Tue Apr 15, 2014 11:31 pm

» HelpGameBom2D
by thaimavn Mon Mar 24, 2014 10:35 am

» Hỏi về cách di chuyển 1 điểm ở tọa độ này sang tọa độ khác cho trước.
by bocapzz Mon Feb 24, 2014 10:45 pm

» Hỏi về cài đặt XNA game studio 4.0
by bocapzz Sat Dec 14, 2013 12:33 am

» Cuộc thi lập trình game thế giới 2013 với cơ hội thăm quan Phần Lan
by viope Tue Oct 29, 2013 4:51 pm

» chơi game làm bởi xna như thế nào?
by thinnhph01957 Sat Sep 14, 2013 3:23 pm

» Với 1 Game cái gì là quan trọng ?
by qhhqnavy Tue Aug 13, 2013 8:09 am

» Load fiel .fbx vào Xna bị mất màu
by qhhqnavy Wed Aug 07, 2013 7:42 pm

» Help me hàm Update và Draw với
by sieuthi Mon Dec 24, 2012 11:56 pm

» Hỏi về load hình chồng nhau trong XNA
by sieuthi Mon Dec 24, 2012 11:49 pm

» nơi ghi danh tham gia Game Development Team
by echdonghop Fri Dec 21, 2012 1:56 pm

» tài liệu cơ bản 5 chương cho xna
by Nelson Quang Thu Nov 22, 2012 12:26 pm


Hỏi: Các phương thức trong VIDEO [Benginer's Guide 2D]

Go down

Hỏi: Các phương thức trong VIDEO [Benginer's Guide 2D]

Bài gửi by yuchi_1k91 on Fri Dec 10, 2010 9:43 am

Code:

        Texture2D backgroundTexture;
        Rectangle viewHCN;
Vì là mới tìm hiểu nên chưa biết tác dụng của các biến này, mọi ng có thể Comment đầy đủ co mình được ko? Hiểu nhưng mơ hồ quá, cần biết nó chính xác để làm!
-Tiếp
Code:

//Load backGround
            backgroundTexture = Content.Load<Texture2D>("Sprites\\background");
            viewHCN = new Rectangle(0, 0,
                graphics.GraphicsDevice.Viewport.Width,
                graphics.GraphicsDevice.Viewport.Height);

            //Load object Cannon (Khẩu pháo)
            cannon = new GameObject(Content.Load<Texture2D>("sprites\\cannon"));
            cannon.position = new Vector2(
                120, graphics.GraphicsDevice.Viewport.Height - 80);
Ko biến cái ""graphics.GraphicsDevice.Viewport" là thế nào :24:
Quan trọng trong phương thức này, giải thích đầy đủ hộ em :37:
Code:


protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            //Cho phép trò chơi thoát
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            // TODO: Add your update logic here
            //KeyBoard:
#if !XBOX
            KeyboardState keyboardState = Keyboard.GetState();
            if(keyboardState.IsKeyDown(Keys.Left))
            {
                cannon.rotation -= 0.1f;
            }
            if(keyboardState.IsKeyDown(Keys.Right))
            {
                cannon.rotation += 0.1f;
            }
#endif
            cannon.rotation = MathHelper.Clamp(cannon.rotation, -MathHelper.PiOver2, 0);

            //Trạng thái đệm của trò chơi
            //1 người chơi!

            GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);
            cannon.rotation += gamePadState.ThumbSticks.Left.X * 0.1f;

            base.Update(gameTime);
        }
Và trong phương thức DRAW
Code:

 protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);

            // TODO: Add your drawing code here
            //Thêm mã bản vẽ của bạn ở đây
            //Thêm Backgrounf
            spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
            spriteBatch.Draw(backgroundTexture, viewHCN, Color.White);
           

            //Thêm Cannon
            spriteBatch.Draw(cannon.sprite, cannon.position, null, Color.White,
                cannon.rotation,
                cannon.center, 1.0f,
                SpriteEffects.None, 0);
                //Bằng với Flush, thực thi SriteBatch
            spriteBatch.End();
           
            base.Draw(gameTime);
        }
Giải thích thật kĩ cho em chỗ Thêm Khẩu Pháo (Cannon)!
Thanks mọi người
(Em làm theo Demo như trong VIDEO trên)
avatar
yuchi_1k91

Tổng số bài gửi : 17
Điểm : 25
Danh Tiếng : 0
Join date : 28/10/2010
Age : 26
Đến từ : BKAP

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Hỏi: Các phương thức trong VIDEO [Benginer's Guide 2D]

Bài gửi by HuyetSat on Fri Dec 10, 2010 4:53 pm

yuchi_1k91 đã viết:
Code:

        Texture2D backgroundTexture;
        Rectangle viewHCN;
Vì là mới tìm hiểu nên chưa biết tác dụng của các biến này, mọi ng có thể Comment đầy đủ co mình được ko? Hiểu nhưng mơ hồ quá, cần biết nó chính xác để làm!
-Tiếp
Code:

//Load backGround
            backgroundTexture = Content.Load<Texture2D>("Sprites\\background");
            viewHCN = new Rectangle(0, 0,
                graphics.GraphicsDevice.Viewport.Width,
                graphics.GraphicsDevice.Viewport.Height);

            //Load object Cannon (Khẩu pháo)
            cannon = new GameObject(Content.Load<Texture2D>("sprites\\cannon"));
            cannon.position = new Vector2(
                120, graphics.GraphicsDevice.Viewport.Height - 80);
graphics.GraphicsDevice.Viewport la phần nhìn thấy của người chơi, với game 2D thì nó chính là kick thước cửa sổ game (bạn thấy có 2 thuộc tính chiều rộng và chiều dài đó)


Hàm dưới này là hàm update, luôn đc gọi đi gọi lại trong quá trình run game (Để update game mà)

Có hàm Check Input từ keyBoard để điều khiển góc bắn của canon, (Mình chưa xem code của project như bạn thử tìm trong Draw Method của class canon hoặc từ Class Game1 xem sao... sẽ thấy cái rotation này trong phần Draw texture của canon
Code:


protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            //Xbox => khoi quan tâm
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            //Đoạn check input:
            KeyboardState keyboardState = Keyboard.GetState();
            if(keyboardState.IsKeyDown(Keys.Left))
            {
                cannon.rotation -= 0.1f;
            }
            if(keyboardState.IsKeyDown(Keys.Right))
            {
                cannon.rotation += 0.1f;
            }
// Đây là đoạn giới hạn lại góc của canon để cho nó ko xoay quá khu vực cần bắn
            cannon.rotation = MathHelper.Clamp(cannon.rotation, -MathHelper.PiOver2, 0);

//Đây là phần điều khiển cho Xbox, khỏi quan tâm
            GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);
            cannon.rotation += gamePadState.ThumbSticks.Left.X * 0.1f;

            base.Update(gameTime);
        }

Code:

 protected override void Draw(GameTime gameTime)
        {
//Xóa màn hình và đặt màn nền là CornflowerBlue
            GraphicsDevice.Clear(Color.CornflowerBlue);

//begin của spriteBatch, trước khi Draw thì phải begin cho spriteBatch, Chế độ tô Alpha, bạn vô mục hỏi đáp trong 2D programming mình có nói về Chế độ AlphaBlend đó
            spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
            spriteBatch.Draw(backgroundTexture, viewHCN, Color.White);
           

            //Mình có viết tut về Draw method đầy đủ 7 tham số, bạn tìm trên forum nhé trong đó có nói đến cách Draw có tham số góc rotation tức là làm xoay texture khi draw, do đó bạn sẽ thấy khẩu canon xoay khi nhấn key
            spriteBatch.Draw(cannon.sprite, cannon.position, null, Color.White,
                cannon.rotation,
                cannon.center, 1.0f,
                SpriteEffects.None, 0);
                //Bằng với Flush, thực thi SriteBatch
            spriteBatch.End();
           
            base.Draw(gameTime);
        }
avatar
HuyetSat
Administrator

Tổng số bài gửi : 167
Điểm : 1291
Danh Tiếng : 19
Join date : 30/03/2010
Đến từ : Microsoft

Xem lý lịch thành viên http://xvna.forumvi.com

Về Đầu Trang Go down

Re: Hỏi: Các phương thức trong VIDEO [Benginer's Guide 2D]

Bài gửi by yuchi_1k91 on Fri Dec 10, 2010 6:37 pm

Các biến thì mình khai báo mình biết rồi, vấn đề là những cái phương thức cơ
VD:
Code:
GamePad.GetState(PlayerIndex.One);
            cannon.rotation += gamePadState.ThumbSticks.Left.X * 0.1f
ĐÓ thì sao lại là PlayerIndex.One mà ko phải là FOur,Two...
Ớn nhất là cái Hàm DRAW với 1 đống Parameters này!
Code:
spriteBatch.Draw(cannon.sprite, cannon.position, null, Color.White,
                cannon.rotation,
                cannon.center, 1.0f,
                SpriteEffects.None, 0);
Mình sẽ sang đọc bài kia, cám ơn bạn! Very Happy
avatar
yuchi_1k91

Tổng số bài gửi : 17
Điểm : 25
Danh Tiếng : 0
Join date : 28/10/2010
Age : 26
Đến từ : BKAP

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Hỏi: Các phương thức trong VIDEO [Benginer's Guide 2D]

Bài gửi by HuyetSat on Sun Dec 12, 2010 11:37 am

vi Xbox đc thiết kế cho 4 người có thể cùng chơi 1 lúc => có one two three...

Trong Xbox thì ThumbSticks giống như và một thanh đẩy vậy, từ khoảng cách đẩy mà suy ra lệnh này:
Code:
GamePad.GetState(PlayerIndex.One);
            cannon.rotation += gamePadState.ThumbSticks.Left.X * 0.1f

7 tham số nhìn hơi choáng như nó thực sự đơn giản và hiểu quả, gắng lên bạn nhé!
avatar
HuyetSat
Administrator

Tổng số bài gửi : 167
Điểm : 1291
Danh Tiếng : 19
Join date : 30/03/2010
Đến từ : Microsoft

Xem lý lịch thành viên http://xvna.forumvi.com

Về Đầu Trang Go down

Re: Hỏi: Các phương thức trong VIDEO [Benginer's Guide 2D]

Bài gửi by HuyetSat on Sun Dec 12, 2010 11:37 am

vi Xbox đc thiết kế cho 4 người có thể cùng chơi 1 lúc => có one two three...

Trong Xbox thì ThumbSticks giống như và một thanh đẩy vậy, từ khoảng cách đẩy mà suy ra lệnh này:
Code:
GamePad.GetState(PlayerIndex.One);
            cannon.rotation += gamePadState.ThumbSticks.Left.X * 0.1f

7 tham số nhìn hơi choáng như nó thực sự đơn giản và hiểu quả, gắng lên bạn nhé!
avatar
HuyetSat
Administrator

Tổng số bài gửi : 167
Điểm : 1291
Danh Tiếng : 19
Join date : 30/03/2010
Đến từ : Microsoft

Xem lý lịch thành viên http://xvna.forumvi.com

Về Đầu Trang Go down

Re: Hỏi: Các phương thức trong VIDEO [Benginer's Guide 2D]

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết