HyqerCard Referrenceはこちらです。
ご質問やご要望があればコメントにお書き込みください。

HyqerTalkの注意事項 その3

文字列の比較

 元祖HyperTalkでは文字列の比較に大文字小文字を区別しませんが、HyqerCardでは大文字小文字を区別します。これはHyqerTalkの'is','='や'is not',’<>'を単純にjavascriptの'==='とか'!=='に変換しているからです。手抜きですみません。特に注意願いたいのは関数の返り値です。基本的に文字列を返す関数は小文字で返しています。例えばsoundとかmouseです。


 the  sound  is  "done"

 the  mouse  is  "up"

 

 などのように小文字で比較してください。

 

 the  sound  is  "DONE"

 the  mouse  is  "UP"

 

は期待通りの挙動をしません。あと、ついでながら現時点(2017/6/24)、mouse関数は私が挙動をよく理解できていなくて正しく値を返していないように思われます。

 

真偽値

 元祖HyperTalkのtrue,falseは文字列として扱いますが、HyqerTalkでは真偽値として扱われます。ですので

 

 the  mouseClick  is  true

 the  enabled  of  cd  btn  1  is  true

 

などのように真偽値を返す関数やプロパティーは定数(true,false)で評価や設定をしてください。

 

 the  mouseClick  is  "true"

 the  enabled  of  cd  btn  1  is  "true"

 

のように文字列で値を評価しないでください。

 

 

座標指定上の注意

 座標指定でマイナス値を指定する場合は変数を使ってください。ロジックを追っていないので不具合箇所を特定していないのですが、とにかく

 

 set  loc  of  cd  btn  1  to  -30,-30

 

 というような指定はエラーになります。

 

 put  -30  into  hensu1

 put  -30  into  hensu2

 set  loc  of  cd  btn  1  to  hensu1,hensu2

 

という風にして下さい。

確認していませんが、rectangle指定も同様だと考えます。

 

2017/7/3追記

domenu  "Quit HyperCard"

 アプリ名はHyqerCardですが、メニューで終了させる時は"Quit HyperCard"です。これは、HyperCardとの互換性のためで、domenuコマンドで終わらせる時は

 

 domenu  "Quit HyperCard"

 

です。

 

play  stopの挙動

 play  stopはなっているサウンドを取り消すコマンド&引数ですが、fluteがなっている場合は止まりませんのでご注意ください。"Quit HyperCard"でも終了しません。止める場合はブラウザでreloadしてください。HyqerCard Referrenceにも記載があります。