投稿
ネタバレ
Daisuke 0909daiki09
プチコン初心者です。SPSETで表示したスプライトをSPLINKでくっつけたのですが、エビ?の胴体と右の砲台が離れなくなってしまいました。SPLINKをコメントアウトしてから右の砲台の座標を修正したんですがダメでした…どうすればいいですか?親切な方教えてください…
2そうだね
プレイ済み
返信[1]
親投稿
Daisuke 0909daiki09
これが問題のプログラムです…
0そうだね
プレイ済み
返信[2]
親投稿
SPLINKすると、リンク先(親)スプライトの位置にSPFOSで指定したX、Y、Z値(相対位置)をそれぞれ加算した値が実際の表示位置になります。もし、SPFOS指定値が管理番号0からの相対位置であれば、リンク先管理番号に管理番号0を指定する必要があります。
0そうだね
プレイ済み
返信[3]
親投稿
イカ ikasan1830
SPLIMKの関連付けが上手く行っていないと思います。 えび頭を中心にそこに各パーツがくっつくような形にしたらどうでしょ?
0そうだね
プレイ済み
返信[4]
親投稿
Daisuke 0909daiki09
こうすればいいんですか?
0そうだね
プレイ済み
返信[5]
親投稿
返事がおそくなってすみません。 リンク先(親)の管理番号には、同じ番号を使うことが出来るので、とりゅふさんが、どのスプライトとの相対位置にしたいかで、リンク先(親)の管理番号決めることが出来ます。
0そうだね
プレイ済み
返信[6]
親投稿
Daisuke 0909daiki09
コータさん»という事は 親の管理番号>リンク先管理番号 ならどんな組み合わせでもいいんですか?
0そうだね
プレイ済み
返信[7]
親投稿
親の管理番号とリンク先管理番号は同じものなので、 リンク元(子)>リンク先(親) の関係が成り立ち、SPSET済みであれば自由です。
0そうだね
プレイ済み
返信[8]
親投稿
リンク関係の変更は試したことは無いので、何かあるかもしれませんが・・・SPUNLINKしてからSPLINKすればいいと思います。
0そうだね
プレイ済み
返信[9]
親投稿
Daisuke 0909daiki09
コータさん»SPLINKを変えてやってみたらエラーになってしまいました…原因を教えて下さい…
0そうだね
プレイ済み
返信[10]
親投稿
試してみたら、SPUNLINKをしなくても良いようです。 逆に、SPUNLINKすると相対位置から絶対位置に変わるために、再度SPLINKするときに、SPOFSの再設定が必要になってしまいました。
0そうだね
プレイ済み
返信[11]
親投稿
Daisuke 0909daiki09
相対位置と絶対位置とは何ですか?よく分かりません…
0そうだね
プレイ済み
返信[12]
親投稿
理由はわかりませんが、確かにシンタックスエラーになりますね。管理番号順に並べ替えたらエラーが出なくなりました。 理由はわかりません。???
0そうだね
プレイ済み
返信[13]
親投稿
相対位置とは、親の位置に足し算した値が実際の表示位置になることで、 絶対位置とは、SPLINKしていないときに、SPOFSで指定した位置に表示される というごく普通のことを、難しい言葉で書いてしまっただけです。ごめんなさい。
0そうだね
プレイ済み
返信[14]
親投稿
Daisuke 0909daiki09
2回試したら何故かエラーになりませんでした。でも管理番号3,4の砲台がくっついていませんでした…
0そうだね
プレイ済み
返信[15]
親投稿
Daisuke 0909daiki09
コータさん»無知な僕が悪いんです…教えてくれてありがとうございます!
0そうだね
プレイ済み
返信[16]
親投稿
イカ ikasan1830
3番がどこにもリンクされていないからですね
0そうだね
プレイ済み
返信[17]
親投稿
親とのリンクをやめたときに、スプライトの表示位置を変えないための機能だと思います。
0そうだね
プレイ済み
返信[18]
親投稿
SPLINKで指定するスプライトの親子関係と SPOFSで指定する位置の関係を調べてみてください。 たぶん、とりゅふさんのイメージと違う設定値が見つかると思います。 プチコンは間違った命令でも形式的に問題が無ければそのまま実行してしまいます。(プチコンは、疲れを知らない働き者ですが、ゆうずうが聞かないがんこ者です。(^_^))
0そうだね
プレイ済み
返信[19]
親投稿
Daisuke 0909daiki09
コータさんやイカさんやマギーさん(他の投稿で助言してもらいました。)の助言のおかげでここまで出来たのですが管理番号0の左の砲台がSPOFSで座標を変えても動きません…どうしたらいいですか?
0そうだね
プレイ済み
返信[20]
親投稿
Daisuke 0909daiki09
コータさん»そうなんですか!がんばって調べてみます!
1そうだね
プレイ済み
返信[21]
親投稿
すみません。やり方を説明していませんでした。 1)ノートかメモ帳に出来上がりのイメージを絵に描く。   (四角とか丸で位置関係がわかるような絵で十分です。) 2)スプライトの親子関係を書く(矢印のようなものでも可)  ->SPLINK命令の引数が合っているか確認する。 3)親子関係のあるスプライト間の位置の差を書き込む。  ->SPOFS命令の引数が合っているか確認する。 4)実際にプログラムの値を変更して、イメージに合うように微調整する。 やり方の一例ですが、こんな感じです。
1そうだね
プレイ済み
返信[22]
親投稿
Daisuke 0909daiki09
ありがとうございます!
0そうだね
プレイ済み