рджреЛрд╕реНрддреЛрдВ XNA рдФрд░ WPF

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ рдХрд┐ "рдЙрдиреНрд╣реЗрдВ рджреЛрд╕реНрдд рдХреНрдпреЛрдВ рдмрдирд╛рдПрдВ"ред рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ - WPF рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬрдЯрд┐рд▓ 3D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП XNA, рдФрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдЬрдЯрд┐рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЗрд╕рдореЗрдВ 3D рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ XNA рдФрд░ WPF рдмрдВрдбрд▓ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реА рд╣реИред

рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдореИрдВ рдЕрднреА рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред



рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ XNA рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдХрд╡рд░ рд╕реНрдХреЛрд░рд░ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:







рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднрд╡рд┐рд╖реНрдп рдХреЗ рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рдХреЗ рд▓рд┐рдП WPF рдкреНрд░реЛрдЬреЗрдХреНрдЯ рднреА рд╣реИ, рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:







рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдкрд╣рд▓реЗ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд░рдЦрдирд╛ рд╣реИред рд╣рдо рд╡реИрд╕рд╛ рд╣реА рдХрд░реЗрдВрдЧреЗ рдЬреИрд╕рд╛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛрдЬ рдлреЙрд░реНрдореНрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛: рд╣рдо рдЧреЗрдо рдХреНрд▓рд╛рд╕ рдХреА рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рд╣реИрдВрдбрд▓ рдХреЛ рдЙрд╕ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкрд░ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░ рджреЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рдЯреЙрдк рдкрд░ рд╣рдо рдбреНрд░реЙ рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ WPF рдореЗрдВ рд╣реИрдВрдбрд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ: рд╣рдо рд╡рд┐рдВрдбреЛ рдореЗрдВ WindowsFormsHost рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ System.Windows.Forms рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рдкреИрдирд▓ рдХреЛ рдЬрдЧрд╣ рджреЗрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рдЗрд╕ рдкреИрдирд▓ рдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ рдЧреЗрдо рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░реЗрдВрдЧреЗред рддреЛ, рдХреНрд░рдо рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝реЗрдВ:

  1. рдПрдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ XNA рдФрд░ WPF рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВ
  2. рд╣рдо XNA рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ Program.cs рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЧреБрдгреЛрдВ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЯрд╛рдЗрдк рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред
  3. Microsoft.Xna.Framework.Game рдХреЛ WPF рд╕рдВрджрд░реНрдн рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
  4. рдЧреЗрдо рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдореЗрдВ IntPtr рд╣реИрдВрдбрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝реЗрдВ
  5. WPF рдлреЙрд░реНрдо рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ, рдЧреЗрдо рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдкреИрдирд▓ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░реЗрдВ рдФрд░ рдЧреЗрдо рдХреЗ рд░рди () рд╡рд┐рдзрд┐ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рдХреЙрд▓ рдХрд░реЗрдВ
  6. рдбрд┐рд╡рд╛рдЗрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдЕрдкрдиреЗ рд╣реИрдВрдбрд▓ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ


рдореИрдВ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реВрдВрдЧрд╛:

IntPtr Handle;

public MainGame( IntPtr handle)

{

Handle = handle;

graphics = new GraphicsDeviceManager( this );

graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs>(PreparingDeviceSettings);

}



public void PreparingDeviceSettings( object sender, PreparingDeviceSettingsEventArgs e)

{

e.GraphicsDeviceInformation.PresentationParameters.DeviceWindowHandle = Handle;

}




* This source code was highlighted with Source Code Highlighter .








рдареАрдХ рд╣реИ, рд╣рдорд╛рд░рд╛ "рдЧреЗрдо" рдЗрд╕рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рдкреИрдирд▓ рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдмрд┐рдВрджреБ рд╣реИрдВ, рдЬрд┐рди рдкрд░ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореБрдЭреЗ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:



рд╣рдо рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЧреЗрдо рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореИрдиреЗрдЬрд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред рд╣рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЯрд╛рдЗрдорд░ рджреНрд╡рд╛рд░рд╛ рджреГрд╢реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рдЙрд╕рдХреЗ рд╡рд┐рдирд╛рд╢ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд╣рдо рдбреНрд░рд╛ рдХрд░реЗрдВрдЧреЗ, рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВрдЧреЗ, рдПрдХ рдЙрдкрдХрд░рдг рдФрд░ рдПрдХ рдЯрд╛рдЗрдорд░ рдмрдирд╛рдПрдВрдЧреЗ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рдЕрдкрдбреЗрдЯ рдФрд░ рдбреНрд░рд╛ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗред рдЖрдк рдпрд╣рд╛рдБ рдпрд╛ рд╕рдВрд▓рдЧреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЪрд┐рддреНрд░рдордп рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рд╕рд┐рд░реНрдл рдкреИрдирд▓ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрдЪрд┐рдд рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдкреИрдирд▓ рдЭрдкрдХреА рд▓реЗрдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред рдХреЗрд╡рд▓ рдЕрд╕реБрд╡рд┐рдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реЗрдЯрд╕рд╛рдЗрд▓ рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред рдареАрдХ рд╣реИ, рдХреБрдЫ рднреА рдирд╣реАрдВ, рд╣рдо рдкреИрдирд▓ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╣рдореЗрдВ рдЙрди рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рд┐рдд рдкреИрдирд▓ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдкрдорд╛рди рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╣реИ:



public class OptimizedPanel : Panel

{

public OptimizedPanel()

: base ()

{

this .SetStyle(ControlStyles.UserPaint, true );

this .SetStyle(ControlStyles.Opaque, true );

}

}



* This source code was highlighted with Source Code Highlighter .








рддреЛ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ, рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ: рдкреИрдирд▓ рдЭрдкрдХрд╛рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдпрд╛рдо рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рдЦреЛрд▓рддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдЖрдк WPF рдФрд░ XNA рдХреЗ рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЦреИрд░, рдпрд╣рд╛рдБ рдореЗрд░реЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реБрдЖ рд╣реИ:






All Articles