كيف يمكنني إصلاح هذا الخطأ الإكراه الضمني في فلاش؟

StackOverflow https://stackoverflow.com/questions/643494

  •  22-07-2019
  •  | 
  •  

سؤال

وأنا ألعب مع الفيزياء المحرك لAS3 و رمز أدناه هو في الأساس مرحبا مثال العالم. ومع ذلك، وإجراء تغيير طفيف بإعلان الملكية "الكرة" وذلك WheelParticle في بداية تعريف الفئة. (يغفر المصطلحات بلدي إذا كان هذا هو الخطأ). من قبل، وأعلن أنه داخل المنشئ كما

var ball:WheelParticle = new WheelParticle(...);

ووالتي عملت على ما يرام. ولكن الآن، أنها تحاول طريقي أحصل على الخطأ

<اقتباس فقرة>   

والإكراه الضمني من قيمة من نوع   org.cove.ape.WheelParticle ل   نوع لا علاقة لها الدرجة |   الكرة: WheelParticle = جديدة ... الخ الخ

     

و"مهمة غير الشرعيين إلى الصف   WheelParticle "

وهكذا أنا أفكر بلدي public var ball:WheelParticle الإعلان يجب أن يكون شيئا آخر. ولكن ماذا؟

وعلى أي حال، وهنا رمز. انها قصيرة جدا. وأود أن أشير إلى وثائق، ولكن هناك لا شيء. لا أستطيع أن تجد أي حال.

وحزمة {

    import org.cove.ape.*;
    import flash.events.*;
    import flash.display.Sprite;    

    public class Bounce extends Sprite {

         public var ball:WheelParticle;

    public function Bounce() {

        stage.focus = this;
        stage.frameRate = 100;
        addEventListener(Event.ENTER_FRAME, run);

        stage.addEventListener(KeyboardEvent.KEY_DOWN, moveLeft);

        APEngine.init(0.3);
        APEngine.container = this;
        APEngine.addMasslessForce(new Vector(0,2));

        var defaultGroup:Group = new Group();
        defaultGroup.collideInternal = true;

        var ball:WheelParticle = new WheelParticle(250,10,40, false, 1, 0.7, 0.1);
        defaultGroup.addParticle(ball);

        var rp:RectangleParticle = new RectangleParticle(250,300,300,50,0,true);
        defaultGroup.addParticle(rp);


        APEngine.addGroup(defaultGroup);
      }

      private function moveLeft(e:Event):void{
          ball.speed += 1;
    }

      private function run(evt:Event):void {
         APEngine.step();
         APEngine.paint();
      }
   }

و}

هل كانت مفيدة؟

المحلول

واستيراد الطبقة WheelParticle (جنبا إلى جنب مع كل فئة أخرى تحتاج) صراحة على النحو التالي:

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;

import org.cove.ape.APEngine;
import org.cove.ape.Group;
import org.cove.ape.RectangleParticle;
import org.cove.ape.Vector;
import org.cove.ape.WheelParticle;

    public class Bounce extends Sprite {

وهذا استيراد المفقودين هو السبب الأكثر احتمالا للخطأ الخاص بك. أيضا، لاحظ أن نموذج التعليمات البرمجية لديه خلل صغير.

 public class Bounce extends Sprite {

     public var ball:WheelParticle;

ويعلن متغير عضو لBounce فئة من نوع WheelParticle دعا ball.

var ball:WheelParticle = new WheelParticle(250,10,40, false, 1, 0.7, 0.1);

ويخلق متغير آخر مع نفس النوع ونفس الاسم ولكن المحلية إلى منشئ Bounce. وهذا واحد الظلال السابق. إذا كنت ترغب في استخدام عضوا استخدام متغير:

ball = new WheelParticle(250,10,40, false, 1, 0.7, 0.1);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top