0

je suis nouveau dans actionscript3, j'ai un problème avec mon code que je me réfère à Designing for a multi-device, multi-resolution world et je coincé à l'initialisation Starling. la syntaxe est bonne mais trouvé une erreur lorsque je teste mon projet par ctrl + enter. ici est mon codecomment réparer 1120: Accès de propriété principale non définie dans l'initialisation de la section de starling?

this.stage.align = StageAlign.TOP_LEFT; 
this.stage.scaleMode = StageScaleMode.NO_SCALE; 

import feathers.system.DeviceCapabilities; 

DeviceCapabilities.dpi = 265; 
DeviceCapabilities.screenPixelWidth = 480; 
DeviceCapabilities.screenPixelHeight = 800; 

import starling.core.Starling; 
import flash.events.Event; 

var starling:Starling; 

this.loaderInfo.addEventListener(Event.COMPLETE, loaderInfoComplete); 
function loaderInfoComplete(e:Event):void 
{ 

    starling=new Starling(Main, this.stage); 
    starling.start(); 
} 
+0

dans 'Starling = new Starling (Main, this.stage),' ' la classe Main' est valide ?? – user3711105

+0

Je ne sais pas vraiment quelle est la 'Main' – tejom

Répondre

0

Le problème est de l'initiation de Starling: starling=new Starling(Main, this.stage);

Il a besoin d'une classe plutôt que Main au démarrage. Vous devez insérer un nouveau symbole avec class: screen et extends starling.display.Sprite. comme montré ci-dessous: enter image description here

puis modifiez votre code comme starling=new Starling(screen, this.stage);

PS: il semble que vous utilisez CS6 flash pour développer Starling. C'est assez difficile à gérer. Suggérer Flash Développer ou Flash Builder à la place.

+0

comment puis-je obtenir cette fenêtre? – tejom

+0

je suis nouveau en développement flash et je veux essayer Flash Builder mais j'ai besoin de l'animation image par image. @ User3711105 – tejom

+0

insérer -> Insérer le symbole – user3711105

0

Lorsque vous créez Starling, vous devez passer dans une classe pour Starling instancier comme conteneur « racine ». Dans votre code, vous demandez Starling d'utiliser une classe nommée Main ici:

starling=new Starling(Main, this.stage); 

Avez-vous un fichier dans votre projet nommé Main.as? Si non, alors vous devez en créer un. Voici un code d'exemple simple que vous pouvez essayer d'ajouter à Main.as:

package 
{ 
    import starling.display.Sprite; 

    public class Main extends Sprite 
    { 
     public function Main() 
     { 
      super(); 

      var quad:Quad = new Quad(100, 100, 0xff000); 
      addChild(quad); 
     } 
    } 
}