נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: c# directx

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
virtual888
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 09 April 2008
משתמש: מנותק/ת
הודעות: 26
נשלח בתאריך: 01 May 2008 בשעה 21:40 | IP רשוּם
ציטוט virtual888

שלום התחלתי ללמוד DIRECTX ב C# ולקחתי תוכנית מאתר

http://csharp-home.com/index/tiki-print_article.php?articleId=105

 


 

using System;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;

public class MainForm : Form
{
	Device device = null;

	/// <summary>
	///	When the form is clicked, we close it and stop
	///	the application
	/// </summary>
	protected override void OnClick(EventArgs e)
	{
		this.Close();
		base.OnClick (e);
	}

	
	/// <summary>
	///	In the constructor we initialize the device using
	///	the default adapter and the current display mode
	/// </summary>
	public MainForm()
	{
		AdapterInformation adapter = Manager.Adapters.Default;
	
		PresentParameters presentation = new PresentParameters ();
		presentation.BackBufferFormat = adapter.CurrentDisplayMode.Format;
		presentation.BackBufferWidth = adapter.CurrentDisplayMode.Width;
		presentation.BackBufferHeight = adapter.CurrentDisplayMode.Height;		
		presentation.SwapEffect	= SwapEffect.Flip;
		presentation.Windowed = false;
		
		// Place it in a try catch block just 
		//in case it goes wrong for
		// some reason.
		try
		{
			// To make things simple, we'll just 
			//use the reference device, and
			// software vertex processing. 
			//Although this will be extrelemly slow
			// it doesn't matter in this case.
			// It will definetly work on 
			// all machines, so it saves us doing 
			//enumeration for now.
			device = new Device (adapter.Adapter,  
						DeviceType.Reference,
						this,
						CreateFlags.SoftwareVertexProcessing,
						presentation);
		}
		ca tch (DirectXException e)
		{
			MessageBox.Show (e.Message);
			return;
		}
	}


	/// <summary>
	///	Clear the screen with a blue color
	/// </summary>
	public void Render()
	{
		device.Clear(ClearFlags.Target, Color.Blue, 1.0f, 0);
		device.Present();
	}


	/// <summary>
	///	The entry point where the main render loop goes
	/// </summary>
	static void Main() 
	{
		using (MainForm form = new MainForm())
		{
			form.Show();
			
			while (form.Created)
			{
				form.Render();
				Application.DoEvents();
			}
		}
	}
}
 
כאשר אני מריץ את את התוכנית הקומפילר כותב לי שיש יותר מכניסה אחת
 has more then one entry point
חזרה לתחילת העמוד הצג את כרטיס החבר של virtual888 חפש הודעות אחרות של virtual888
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 01 May 2008 בשעה 23:27 | IP רשוּם
ציטוט shoshan

בטח יש לך פעמיים את הפונקציה Main (אחת שבאה עם ה-template של הפרוייקט)

שים לב שה-Main בקוד צריך להחליף אותה.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה