0

これは、事前定義された名前のリストに対してユーザー名を要求し、検証するスクリプトです。

チュートリアルからスクリプト全体をコピーしましたが、結果は何もありません。なぜエラーがないのか理解できません! 最初にスクリプトをコピーしてから理解することで学習しますが、残念ながら結果はエラーなしで何もありません! 私はプログラミングが初めてなので、物事を説明してみてください

フレーム 1 のスクリプト:

var myGreeter:Greeter = new Greeter();
mainText.text = myGreeter.sayHello("")

スクリプトは、greeter という名前のアクション スクリプト ファイルに次のように記述します。

package
{
public class Greeter
{
/**
* Defines the names that should receive a proper greeting.
*/
public static var validNames:Array = ["Sammy", "Frank", "Dean"];
/**
* Builds a greeting string using the given name.
*/
public function sayHello(userName:String = ""):String
{
var greeting:String;
if (userName == "")
{
greeting = "Hello. Please type your user name, and then press the Enter key.";
}
else if (validName(userName))
{
greeting = "Hello, " + userName + ".";
}
else
{
greeting = "Sorry, " + userName + ", you are not on the list.";
}
return greeting;
}
/**
* Checks whether a name is in the validNames list.
*/
public static function validName(inputName:String = ""):Boolean
{
if (validNames.indexOf(inputName) > -1)
{
return true;
}
else
{
return false;
}
}
}
}
4

1 に答える 1

1

おそらく、Adobe のGetting started with ActionScript: Making a basic application を参照していると思われます。

この古いチュートリアルは Flex 3 向けであり、フロントエンド プレゼンテーションを実装してGreeterクラスに接続します。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" 
    layout="vertical"
    creationComplete="initApp()">

    <mx:Script>
        <![CDATA[
            private var myGreeter:Greeter = new Greeter();

            public function initApp():void 
            {
                // says hello at the start, and asks for the user's name
                mainTxt.text = myGreeter.sayHello();
            }

        ]]>
    </mx:Script>

    <mx:TextArea id="mainTxt" width="400" backgroundColor="#DDDDDD" 
                 editable="false"/>

    <mx:HBox width="400">    
        <mx:Label text="User Name:"/>    
        <mx:TextInput id="userNameTxt" width="100%" 
                      enter="mainTxt.text=myGreeter.sayHello(userNameTxt.text);"/>
    </mx:HBox>

</mx:Application>

クラスを貼り付けるだけGreeterでは、このクラスのどの部分も実行されていないため、エラーは発生しません。そのクラスからは何も呼び出されていません。

これはかなり貧弱なチュートリアルであり、時代遅れであることと合わせて、次のようなチュートリアルや例を他の場所で探すことをお勧めします。

于 2013-09-23T20:53:50.067 に答える