2017-09-27 20 views
1

私はas3を初めて使っています。1084:構文エラー:関数の直前に期待しています

このエラーが発生する1084:構文エラー:関数の前にrightbraceが必要です。

残りのコードをご希望の場合はお知らせください。この1行は、必要な情報のすべてを説明していない可能性があります。

public function U1A4_Monnaie():void 
    { 

EDITここ

は、元のコードです。私は、ブラケット開閉の両方の量を数え、彼らはお互いに一致するように見えるが、私は...間違っている可能性があります

package { 
import flash.display.MovieClip; 
import flash.display.Sprite; 
import flash.events.MouseEvent; 
import flash.text.TextField; 
import flash.text.TextFieldAutoSize; 
import flash.text.TextFieldType; 
import flash.text.TextFormat; 
import flash.text.TextInteractionMode; 

public class U1A4_Monnaie extends MovieClip { 

    private var monMessage:TextField=new TextField; 
    private var maMiseEnForme:TextFormat=new TextFormat; 
    **private var btnSoumettre:Sprite; 
    private var montant:TextField=new TextField;** 

    public function U1A4_Monnaie():void 
    { 
     montant = new TextField(); 
     montant.border=true; 
     montant.text = "100"; 
     montant.height = 20; 
     montant.type = TextFieldType.INPUT; 
     this.addChild(montant); 

     btnSoumettre = new Sprite(); 
     btnSoumettre.y = 22; 
     btnSoumettre.graphics.beginFill(0xFF0000, 1); 
     btnSoumettre.graphics.drawRect(0, 0, 100, 20); 
     btnSoumettre.graphics.endFill(); 
     this.addChild(btnSoumettre); 
     btnSoumettre.addEventListener(MouseEvent.CLICK, calculeMonnaie); 



    } 

    private function calculeMonnaie(event:MouseEvent):void { 


     nouvMessage.font="Arial"; 
     nouvMessage.size=20; 
     nouvMessage.bold=true; 
     nouvMessage.color=0xFFFFFF; 
     nouvMessage.x=20; 
     nouvMessage.y=20; 

     maMiseEnForme.font="Arial"; 
     maMiseEnForme.size=20; 
     maMiseEnForme.bold=true; 
     maMiseEnForme.color=0x660000; 
     monMessage.x=20; 
     monMessage.y=190; 

     monMessage.autoSize=TextFieldAutoSize.LEFT; 
     monMessage.border=true; 
     monMessage.defaultTextFormat=maMiseEnForme; 


     var somme:Number; 
     var totalCents:int; 
     var pieces25Cents:int=0; 
     var pieces10Cents:int=0; 
     var pieces5Cents:int=0; 
     var pieces1Cent:int=0; 
     var restant:int=0; 
     var nouvMessage:String; 

     somme = Number(montant.text); 
     totalCents = int(somme * 100); 


     pieces25Cents = totalCents/25; 
     restant= totalCents % 25; 

     pieces10Cents = restant/10; 
     restant = restant % 10; 

     pieces5Cents = restant/5; 
     restant = restant % 5; 

     pieces1Cent = restant; 

     montant.text=""; 

     nouvMessage =("Montant à transformer en monnaie: " + somme + "$" + 
      "\n25 cents: " + pieces25Cents + 
      "\n10 cents: " + pieces10Cents + 
      "\n5 cents: " + pieces5Cents + 
      "\n1 cent: " + pieces1Cent); 

     trace()monMessage.text=nouvMessage; 
     addChild(monMessage); 

    } 
} 
+0

おそらく '削除:void' –

+0

は動作しませんでした。私はそれを理解しようとしていますが、まだ運がありません。しかし、助けてくれてありがとう! – Larocque

+0

あなたが提供したスクリプトに問題はありません。間違いはおそらくこれらの行の前です。 – Organis

答えて

2

としても、すべての場合、それがスローされる可能性があるので、それにエラーが時々欺くことができます括弧がそこにあります。あなたのケースでは

、問題は(第2のコードの最後の行まで)この行です:

trace()monMessage.text=nouvMessage; 

次の文字からそれを分離するtrace()後にターミネータがあるはずです。

trace(); monMessage.text=nouvMessage; 

または(空の軌跡は、むしろ無意味であるため)おそらくあなたは、次の操作を行うことを意味:

monMessage.textの更新値をトレースします
trace(monMessage.text = nouvMessage); 

ほとんどは、おそらくこれがクリーンであることを同意するだろうけど:

monMessage.text = mouvMessage; 
trace(monMessage.text); 
関連する問題