الشبكة العربية لمطوري الألعاب

محترف  انس مشاركة 1

السلام عليكم.

يواجهني حاليا خطأ غريب، استعمل لغة السي شارب و اكس ان ايه بمحرر فزيوال استديوا 2010.
اليكم الكود  :


        public Vector2 pos { get { return test; } set { test = value; } }
        private Vector2 test;
//-------
        public Game1( )
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            pos = new Vector2(0f,0f);
            test = new Vector2();
        }

//-------
        protected override void Update( GameTime gameTime )
        {
            pos.X = 1f;
            test.X = 1f;
            // TODO: Ajoutez votre logique de mise à jour ici

            base.Update(gameTime);
        }
الخطأ :


Cannot modify expression because it is not a variable

أول مرة يواجهني هذا المشكل، لقد كنت استعمل  العبارة السابقة بشكل   طبيعي.
المشكل بدأ عندما نصبت التسخة الفرنسية من فيزوال استديو.

هل من حل ?

سلام

خبير  Hisham Kayali مشاركة 2

? 😏 qu' est-ce quita' foutu dans cette situation



جرب هنا

http://stackoverflow.com/

من المزعج أن تعرف إن دساتير البعد بين نقطتين التي طالما كرهتها هي أساسية في شيء تحبه جدا و هو تحريك الألعاب

محترف  انس مشاركة 3

في 25 يناير 2012 09:53 م، غمغم Hisham Kayali باستغراب قائلاً:

qu' est-ce quita' foutu dans cette situation
rien de special, un code habituel :(
لا شيئ، الكود المكتوب ، سبق و أن تعاملت معه دون مشاكل.

شكرا على الموقع

خبير مدير وسام البهنسي مشاركة 4

وفي 02/ربيع الأول/1433 03:52 م، أعرب انس عن رأيه بالموقف كالآتي:

الخطأ :


Cannot modify expression because it is not a variable

أول مرة يواجهني هذا المشكل، لقد كنت استعمل  العبارة السابقة بشكل   طبيعي.
المشكل بدأ عندما نصبت التسخة الفرنسية من فيزوال استديو.

في أي سطر يظهر الخطأ؟

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  محمد يامن سرايجي مشاركة 5

الخطأ عندك :pos.X=1;test.X=1;في ال C# لا يمكنك اسناد قيمة لحقل حصلت عليه من Property , الحل للمشكلة كالتالي:pos=new Vector2(1,pos.Y);test=new Vector2(1,
test.Y);

او ان تستخدم القيمة الداخلية للمتحول بشكل مباشر

الله أكبر