【问题标题】:1084: Syntax error: expecting rightbrace before function1084:语法错误:函数前需要右括号
【发布时间】:2018-03-09 04:53:50
【问题描述】:

我是 as3 的新手,请你帮帮我。

收到此错误 1084:语法错误:在函数之前需要右括号。

如果您想要其余代码,请告诉我。这一行可能无法解释所有需要的信息。

public function U1A4_Monnaie():void
    {

编辑

这是原始代码。我计算了括号的数量,包括关闭和打开,它们似乎相互匹配,但我可能错了......

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);

    }
}

【问题讨论】:

  • 可能删除:void
  • 没用。我试图弄清楚,但仍然没有运气。不过感谢您的帮助!
  • 您提供的脚本没有问题。错误可能在这几行之前。
  • 这不可能是真的......看看this image是否能帮助你“搞清楚”。提示:如果您打开一个功能(例如:添加指令),您也必须关闭它。确保您的所有功能正确打开/关闭。如果不熟悉编码,也不要将函数放在其他函数中......
  • 我可以发送我的整个代码,也许我可以找到问题吗?

标签: actionscript-3 flash actionscript syntax-error cs4


【解决方案1】:

该错误有时可能具有欺骗性,因为即使所有括号都在那里,它也可能被抛出。

在您的情况下,问题是这一行(代码的倒数第二行):

trace()monMessage.text=nouvMessage; 

trace() 后面应该有一个终止符来将它与下一个字符分开。

trace(); monMessage.text=nouvMessage;

或者(因为空的踪迹是毫无意义的)也许您的意思是执行以下操作:

trace(monMessage.text = nouvMessage); 

这将跟踪monMessage.text 的更新值。

虽然大多数人可能会同意这样更干净:

monMessage.text = mouvMessage;
trace(monMessage.text);

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多