1

これはこれまでで最も単純な質問だと確信していますが、私の友人と私は p5.js でペアコーディングを行っており、以下のコードがエラーをスローしている理由を理解できません: Uncaught ReferenceError: RiLexicon is not defined

基本的にまったく同じ場所にすべてのコードを配置して、同様のプロジェクトを実行しましたが、うまくいきました。たぶん、私たちはこれをあまりにも長く見つめていて、気が狂っていますか? 助けてください!ありがとうございました!

var mermaid = ("Fishes, both large and small, glide between the branches, as birds fly among the trees here upon land. In the deepest spot of all, stands the castle of the Sea King. Its walls are built of coral, and the long, gothic windows are of the clearest amber. The roof is formed of shells, that open and close as the water flows over them. Their appearance is very beautiful, for in each lies a glittering pearl, which would be fit for the diadem of a queen.");
var story = []; 
var lexicon;


function setup() {

    createCanvas(650,400);
    lexicon = new RiLexicon();
    story = RiTa.tokenize(mermaid);
    //partsOfSpeech = RiTa.getPosTags(story);
    textSize(15);
    fill(255, 100, 100);


function draw(){
 // background(255);

 var wordPosX = 10;
var wordPosY = width/8;


    for(var i=0; i < story.length; i++){
      text(story[i], wordPosX, wordPosY)
      textWidth(story[i]+5,30);

      //we check whether each parts of speech exists
      //in our array
      //if(partsOfSpeech[i] != null){
      //  text(partsOfSpeech[i], wordPosX, wordPosY+20, textWidth(story[i]), 20);
     // fill(100,175,175);  


      wordPosX += textWidth(story[i])+ 3;

      //if wordPosX goes beyond our width,
      //move the text down to a new line
      if(wordPosX +30 > width){
        wordPosX = 10;
        wordPosY += 50;
      }
    }
}
      function mousePressed(){
        changingWords();
        textSize(15);

        function changingWords (){
        var story = "Fishes," + 
          lexicon.randomWord("nn") + "" + 
          lexicon.randomWord("jj") + 
          "and" + lexicon.randomWord("jj") + 
          ", glide between the branches, as birds fly among the trees here upon" + 
          lexicon.randomWord("nn") + 
          ". In the deepest" + lexicon.randomWord("nn") + 
          "of all, stands the" + lexicon.randomWord("nn") + 
          "of the Sea King. Its walls are built of" + 
          lexicon.randomWord("jj") + 
          ", and the" + lexicon.randomWord("jj") +
          "," + lexicon.randomWord("jj") + 
          "windows are of the clearest" + 
          lexicon.randomWord("jj") + 
          ". The" + lexicon.randomWord("nn") + 
          "is formed of shells, that" + 
          lexicon.randomWord("jj") + 
          "and close as the" + 
          lexicon.randomWord("nn") + 
          "flows over them. Their" + 
          lexicon.randomWord("nn") + 
          "is very" + lexicon.randomWord("jj") + 
          ", for in each lies a glittering" + 
          lexicon.randomWord("nn") + 
          ", which would be fit for the" + 
          lexicon.randomWord("nn") + 
          "of a queen."
        }  
    }
 }
4

1 に答える 1

2

コメントが言ったように、RiTa ライブラリをロードしていることを確認する必要があります。

以前のスケッチが既にライブラリをロードしていて、そのスケッチのコードを新しいスケッチにコピーしたようです。問題は、それでは新しいスケッチを機能させるのに十分ではないということです。アクセスできるように、ライブラリを新しいスケッチにロードする必要があります。

これは、ライブラリをロードする方法に関する非常に優れたチュートリアルですが、ここで基本をコピーしてみます。

ステップ 1:ここから RiTa をダウンロードします。

ステップ 2:という名前のファイルを見つけます(ここrita-full.min.jsから直接ダウンロードすることもできます)。

ステップ 3:そのファイルをスケッチ ディレクトリにコピーします。html ファイルからアクセスできる必要があります。

ステップ 4:<head>次の行をセクションに追加して、ライブラリをロードするように html ファイルを編集します。

<script src="your/path/to/rita-full.min.js" type="text/javascript"></script>

ステップ 5: HTML ページを読み込むと、ライブラリが読み込まれ、コードがアクセスできるようになります。

詳細については、RiTaJS の GitHub ページ (こちら) またはRiTaJS チュートリアル(英語) を参照してください。

于 2016-04-04T16:34:22.033 に答える