したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

【初心者歓迎】プチコンなんでも相談室【質問専用スレ】

1プチコンまとめWiki管理人★:2012/08/25(土) 15:52:47 ID:???
こちらは【初心者歓迎】の【質問専用スレッド】です。
プチコンで分からない事があったら、こちらで質問してください。
知識のある方は、よろしければ質問への回答のご協力をお願いします。
雑談その他は【プチコン総合スレッド】へお願いします。

★これは2ちゃんねるによく似た見た目の掲示板ですが、
ここは2ちゃんねるではなく、プチコンまとめWikiの一部です。お気軽に書き込んでください。
また、不適切な書き込み・他人が不快になる書き込みは削除する場合があります。

★マナーを守って楽しく書き込みましょう!
・質問前に、自分で出来る事は最大限試してみて下さい。きっと上達につながります。
・質問内容はなるべく詳しく書きましょう。
 ×プログラムを書いたんですが動きません
 ○上記のように命令を書いたんですが、「Syntax Error」というエラーが出てしまいます
・質問者も回答者も気持ちよく話を締められるように、解決したら一言お礼をお願いします。
 (質問者からの返答がなく、解決したのかもよく分からない状態になるのは良くないことです)

521@0918nobita:2014/05/09(金) 21:53:43 ID:8UOrrdjY
>>518
>>519
ありがとうございます!

522名無しさん:2014/05/09(金) 23:28:02 ID:4dPIXPsU
>>520
とりあえず基本的なものなら
BTN:ボタン、X:x座標、y:Y座標
BTN=BUTTON()
IF BTN AND 1 THEN Y=Y-8:SPCHR 管理番号,キャラ番号(上向きの絵)
IF BTN AND 2 THEN Y=Y+8:SPCHR 番号,下向き
・・・・
BGOFS 0,X,Y,10
こんなかんじですね。当然これだけでは動かないので参考程度に。

523名無しさん:2014/05/11(日) 08:48:07 ID:3zmaoLz2
>>522さん、ありがとうございます!

524@0918nobita:2014/05/11(日) 15:25:17 ID:8UOrrdjY
タッチ操作のプログラムを作っているのですが、

0001 @LOOP
0002 IF TCHST==TRUE THEN GOTO @LOOP2
0003 GOTO @LOOP
0004
0005 @LOOP2
0006 IF 10<TCHX<60 AND 10<TCHY<60 THEN GOTO @A
0007 RETURN
0008
0009 @A
0010 PRINT "タッチ!"
0011RETURN

こう入力して実行すると、
[suntax error(6,IF)]と表示されます。
エラーを起こさないためにはどこを直せばいいですか?

525@0918nobita:2014/05/11(日) 15:27:06 ID:8UOrrdjY
1行目のGOTOは間違いです、正しくはGOSUBです。

526ゆうあし:2014/05/11(日) 16:35:28 ID:M8rtDSZY
>>524
IF 10<TCHX<60 AND 10<TCHY<60 THEN GOTO @Aを
IF ((10<TCHX) AND (TCHX<60)) AND ((10<TCHY) AND (TCHY<60)) THEN GOSUB @A
にしたら直るかもね

527名無しさん:2014/05/11(日) 19:37:38 ID:lFSBzV7A
>>524
1行目が間違いってのは2行目のことだとして、
6行目は目的の動作ではないだろうけどエラーにはならない
だからどっかタイポしてここに書くときは直っちゃったんだろう
(Oと0を打ち間違えたり、数値の前にスペースを入れないで識別子がくっついたり、THENがTHANになっちゃったり)
で、したかったことは>>526なんだろうけれど、別に括弧を増やす必要もGOTOをGOSUBにする必要もないから

528ゆうあし:2014/05/11(日) 20:47:28 ID:LKGa.ShY
括弧は無駄だとは思ったがこっちの方が理解しやすいかと思った。
GOSUBは単純なミスですな

529名無しさん:2014/05/22(木) 10:08:39 ID:Gda3xqa.
>527
”10<TCHX<60”がエラーにならないのは”10<TCHX”の比較演算結果を
その次に記述した”<60”でさらに比較演算してるからですね。
比較演算の結果は0か1なんでこの場合は必ず1になりますね。

530@0918nobita:2014/06/07(土) 16:23:25 ID:UcuH9SVk
新しく、OSもどきを作っているのですが、
マウスポインタを常に表示するにはスプライトか、グラフィックのどちらを
使えばいいですか?

また、今グラフィックでやってみてるんですが、
マウスポインタの座標が変更になった時に、変更する前のポインタと
重なっておかしくなってしまいます。どうすれば、マウスポインタを表示しながら、
ほかのグラフィック命令と併用できますか?

531名無しさん:2014/06/09(月) 13:09:20 ID:hh11yexA
>>530
ポインタなどの移動するオブジェクトはグラフィック描画の遅いプチコンにおいてはスプライトが最善策でしょう。グラフィックを使う場合はマウスを除いた画面にその都度マウスを描画する必要がありますね。

532kazuemon:2014/06/10(火) 08:14:18 ID:OpHF9tBk
>>530
531さんと同じく、スプライトをお勧めします。
ぼくも現在いろいろとOSもどきを作成していますが、
スプライトですと、
SPOFS 0,TCHX,TCHYだけですみますが、グラフィックだと
複雑になってしまうと思います。

533プチラー:2014/06/16(月) 15:48:19 ID:goliT0Wk
プチコンではループを抜けるBREAKのような命令ってありますか?
マニュアルでは見当たらないのですが

534名無しさん:2014/06/16(月) 19:27:57 ID:mPlW.CrA
>>533
命令ではありませんが擬似的には可能です。
A=0
FOR I=0 TO 4
A=A+1
IF A=1 THEN I=4:NEXT:FOR I=1 TO 0
A=A+1
NEXT I
NEXTの直後に即抜けるループを作ることで本当のNEXTまで飛ばしています。

535プチラー:2014/06/17(火) 19:44:36 ID:hErrnv/.
>534
う〜ん
そのプログラムはよくわかりません^^;

536名無しさん:2014/06/21(土) 15:37:18 ID:6IhlIW9M
>>535
A=0
FOR I=0 TO 4
A=A+1
IF A==1 THEN I=4:GOTO @BREAK
A=A+1
@BREAK
NEXT I
IをTOで指定された数にしてラベルでNEXTまで飛ばしています。

537プチラー:2014/06/21(土) 17:52:23 ID:.8ZcAvqM
>536
そうですね
Iを最後の数にすることで対処できるかなと僕も思いました
もうひとつ疑問なんですが
READ命令があるならWRITE命令のようなものはないのかなと困ってます(><)

5383DSマニア:2014/06/21(土) 20:19:49 ID:wgfgRHE.
SCREDを自分のプログラムに打ち込む方法がわかりません。誰か教えてください。

539名無しさん:2014/06/22(日) 14:26:12 ID:DkR5mMOk
SPANIMってメインループの前で使うんですね
ちょっとわかりにくかったです

5403DSマニア:2014/06/22(日) 16:31:26 ID:wgfgRHE.
539 そうですね

541名無しさん:2014/06/23(月) 13:09:53 ID:o8jxriK6
プチコンってDATAでもったデータは読み込みだけで書き込みできないのなら
落ちゲーなんかには使えないですね

542旅人Dast:2014/06/23(月) 20:37:48 ID:8NCAUaGQ
QRコード変換ツールの使い方が分かりません。
正確に言えば、SDカードをパソコンにさしてみたのですが、どこにプログラムが保存されてるかわかりません。
どこに保存されている、なんと言うファイルを[開く]とすればいいのでしょうか?
下手な説明ですみません

543Autoexec:2014/06/23(月) 21:30:31 ID:OOV0jWKc
>>542

SDカードへ書き出し時に、DSに表示されています。
もう一度書き出して、ご確認ください。

544名無しさん:2014/06/24(火) 16:54:30 ID:InzRqyFc
何が間違っているときに”Out of memory (114, GOSUB)”って出るんですか?

僕は今、ターン式のPvPバトルゲームを作ろうとしていて、
キャラセレクト画面で2プレイヤー分のスプライトを選べるようになっているんです。
その画面で、LかRボタンを押すと十個あるスプライトの中から自分のを選べて、
しかも十字ボタンを押すとP1からP2へのスプライトセレクトに行き来できる仕組みを作りたいんです。
キャラセレクトの仕組み、P1からP2への行き来の仕組みもできているんですが、
なぜかそれを組み合わせるとP2のキャラセレクトのサブルーチンのところで上記のようなエラーが出ます。
どうすればいいのでしょう?
もし情報不足であるなら後で足します。
まだ駆け出しなのでわかりやすいようにお願いします。

545Autoexec:2014/06/24(火) 20:58:38 ID:DM95en4k
>>544
returnをしていますか?

546名無しさん:2014/06/24(火) 21:06:32 ID:4dPIXPsU
>>538
SPSET命令でキャラを表示させることが出来ますよ。保存したキャラをLOAD”SPU0:###”で読み込んで使いましょう。取説のスプライト命令を見ると詳しくわかるかもしれません。
>>539
補足ですが、その命令の直後にアニメーションを始めるのでメインループの途中でもスピードを変えたり出来ます。
>>541
DATA文はリードオンリーの情報を扱う(例えばテ●リスで言うとブロックのパターン)ので落ちゲーなど情報が刻々と変化する時は変数やGRP、MEMなどの書き込みできるリソースを使えばいいでしょう。落ちゲーはこのwikiにたくさんありますよ?
>>544
このエラーはSmileBasicのメモリが足りてない場合に出るエラーです。具体的に言うとFORループやGOSUBなどは命令の行番号を記録しておくためにメモリに一時的に書込みしていますが、プログラムの不備などでループを終わらせないとループが重なっていってメモリ領域を圧迫し、エラーになるというわけです。プログラムリストを見返してGOSUBにRETURNがあるか、FORループにNEXTがあるか確認してみてください。

547名無しさん:2014/06/25(水) 04:46:26 ID:InzRqyFc
>>545
はい、リターンはしています。しかもP1と全く同じのはずなのに、なぜかP2だけエラーが出ます。

>>546
ありがとうございます。しかしリターンもしているし、FORは使っていないので違うと思います。
ウーム、方針を変えるべきか〜。

548名無しさん:2014/06/25(水) 07:14:00 ID:oD303SgI
>>546
DATA命令について質問した者ですが
GRP、MEMなどを使うといってもやり方はどうするんですか?

549名無しさん:2014/06/26(木) 07:03:04 ID:pFX9IyRQ
>>547
returnをしていても無限ループになっていたら意味がないかと
GOTO@MAIN
@SUB
'RETURN
@MAIN
GOSUB@SUB
GOTO@MAIN
でもOut of memoryになりますが、
@SUB
GOSUB@SUB
RETURN
でもなります。

5503DSマニア:2014/06/26(木) 19:16:19 ID:wgfgRHE.
>>546
それをしてもキャラが読み込めません
どうしてでしょうか?教えてください
キャラの保存の仕方がおかしいのでしょうか?

551名無しさん:2014/06/27(金) 16:51:20 ID:InzRqyFc
>>549
ありがとうございました!
多分これが原因です。
おかげさまで動くようになりました。
後からいろいろ足していたもので、
多分途中から入り組んでしまったのでしょう。
本当に助かりました!

5523DSマニア:2014/06/27(金) 22:38:56 ID:wgfgRHE.
読み込みはできましたがどうやってつかうのでしょうか?

5533DSマニア:2014/06/27(金) 22:49:41 ID:wgfgRHE.
読み込みはできましたがどうやってつかうのでしょうか?(SCREDの

554名無しさん:2014/06/28(土) 11:37:08 ID:PP5AXFd6
GRP、MEMなんてのは単なるファイルのカテゴリーですよね
DATAのデータが読み専ってのはガッカリ…
IF文の改行すらもできないし、3号じゃなくてmkⅡのアップグレード望みたいよ

555名無しさん:2014/06/28(土) 17:16:30 ID:6IhlIW9M
>>554
DATAの使用法を勘違いしているだけでは?

556QESA(Autoexec):2014/06/28(土) 20:23:02 ID:DM95en4k
>>554
If分の改行もforで代用できますよ。


if a<2 {
s=s+1
gpest s,a,15
}

for i=1 to a<2
s=s+1
gpest s,a,15
next

この2つのプログラムの動作はほぼ同一です。
DATAの代わりにGPRとMEMを使うのも代用ですね。

557名無しさん:2014/07/04(金) 19:47:15 ID:D4jceuvM
>>556
また変わったプログラムですねぇ
それはおいといて
GPRとMEMを使えというのはやり方がわからないんですよ

558ゆうあし:2014/07/05(土) 12:45:50 ID:OfrUzm2g
memはMEM$に文字を読み書きするリソースです。
GRPはグラフィック面からGSPOITにより色の番号を得てそれを文字番号に使う方法もあるリソースです。
http://wiki.hosiken.jp/petc/?Toukou%2FGRP%A5%EA%A5%BD%A1%BC%A5%B9%A4%F2%BB%C8%A4%C3%A4%BF%CA%B8%BB%FA%A4%CE%B5%AD%CF%BF

559名無しさん:2014/07/07(月) 20:32:36 ID:ZdyfBh.g
>>557
このサイトが参考になると思う
ochameclub.web.fc2.com/petitcom/tips/save.htm

560名無しさん:2014/08/26(火) 09:42:17 ID:/kTuIkLY
5個の数字の入った変数(桁は不規則)をMEM$に保存しようと思っているのですが数値を文字にして保存出来ましたがそれを取り出す方法はわかりません。誰か教えてください。

561名無しさん:2014/08/26(火) 13:55:01 ID:K17I3QVw
まず、その、5つの数字をMEM$に保存する部分のプログラムを見せてくださいね。
取り出す方も、「こんなプログラムを書いてみたが失敗した」があれば、なお良いです。

562名無しさん:2014/08/26(火) 19:54:14 ID:/kTuIkLY
>>561
セーブは
(変数内の数字は仮です。)
A=1
B=10
C=100
D=1000
E=10000
A$=STR$(A)
B$=STR$(B)
C$=STR$(C)
D$=STR$(D)
E$=STR$(E)
MEM$=A$+"/"+B$+"/"+C$+"/"+D$+"/"+E$+"/"
です。
ロードはMID$を使おうとしましたが数値が不規則なのでどう取り出せばいいかわからなくて無理でした。

563名無しさん:2014/08/26(火) 22:05:44 ID:K17I3QVw
このページの「区切りを入れて記録する方法」の箇所を参照してください。
ttp://ochameclub.web.fc2.com/petitcom/tips/save.htm
簡単に解説すると、
INSTR命令で数値の区切りに使った文字の位置を得て、
それを元にMID$()命令に与える範囲を決定すれば良いです。
参照先では配列変数を使っていますが、A-Eの変数名を使うなら
変数ごとに5回、そういう処理を書けば良いです。

564名無しさん:2014/08/26(火) 23:30:13 ID:/kTuIkLY
>>563
ありがとうございます。
INSTR命令ってのがあったんですね。
がんばってみます。

565@0918nobita:2014/11/08(土) 16:44:54 ID:hIK.sEuE
指定した範囲に直角三角形/2等辺三角形/ひし形/円/楕円/文字を
追加したり、透明度を指定して塗りつぶしができるGRPリソース編集ソフトを
開発中ですが、フリーハンドの線の描画に手間取ってます。ほかの画像編集ソフトでは
可能ですが、しくみがよくわからりません。途切れ途切れではなく、滑らかな途切れのない線を
書けるようにしたいです。

566名無しさん:2014/11/08(土) 22:01:39 ID:Lb/Jfqu2
直前のタッチ位置と現在のタッチ位置の間に線を描くだけじゃないの?
@LOOP
OLDX=TCHX
OLDY=TCHY
VSYNC 1
GLINE OLDX,OLDY,TCHX,TCHY,2
GOTO @LOOP
みたいな。

567天郷思音 ◆vCvQmsUz9g:2014/11/09(日) 11:18:06 ID:i0TzrNEk
>>566
VSYNCのかわりに「1回離してもう1回タッチされるのを待つ」処理にしたほうがいいのかな。

568名無しさん:2014/11/19(水) 19:42:18 ID:uBbCCfzU
本体のカメラで撮った写真を表示して色々と遊んでみたいのですが、
どうすれば写真のフォルダーを指定したり、読み込んで表示できるんでしょうか?
立体で撮った写真を表示することってできるんでしょうか?

569名無しさん:2014/11/19(水) 21:27:23 ID:gHJGyJ/k
プチコン3号の質問です。
MAPエディタで作成したら "DAT:ファイル名"と出たのですが、ここからどうしたら
作成したMAPを画面に表示できますか? マニュアルには 配列に読み込ませる とありますが具体的
どのような命令文を使えばよいのでしょうか? MK-2では"LOAD"SCU0:ファイル名"で簡単だったので
プチコン3号では思うようにできず戸惑っています。
どうかよろしくお願いします。

570名無しさん:2014/11/20(木) 00:52:42 ID:gHJGyJ/k
自己解決しました。失礼しました。

571ゆきゆき:2014/11/22(土) 09:46:44 ID:m/tLE69E
スプリットとスプリット当たり判定ができないんだよね
どうやったらできるんだろ?

572名無しさん:2014/11/22(土) 13:27:31 ID:Lb/Jfqu2
「スプライト」な。
SPCOLを指定してやらんといかんのじゃないか

mk2はデフォルトの「グループ」が255だったのに対し
3号は「マスク」のデフォルト値が0に変わった
そんな印象なんだが、どうか

573名無しさん:2014/11/22(土) 17:54:11 ID:c9Aplhbo
プチコン3号からプログラムを始めた初心者です。
公式サイトの初心者講座にある
CLEAR:DIM APPLE(1)
APPLE(0)=56
PRINT "リンゴ";APPLE(0);"コ"
が何回やってもsyntax errorになります。ひととおり初心者講座を読んでBASIC解説サイトをいくつか見てみたのですが、エラーの原因が全くわかりません。
なんかもう心が折れそうなので誰か解決方法教えてくださいお願いします

574名無しさん:2014/11/22(土) 18:24:57 ID:6lBTFLAY
3号からDIMは( )じゃなくて[ ]になった

575名無しさん:2014/11/22(土) 18:54:16 ID:FSFNYj0Q
>>574
なん...だと...。まさかそんなに単純な原因だったなんて...orz

ありがとうございました。本当に助かりました。

576名無しさん:2014/11/22(土) 23:51:14 ID:zu43iMb.
>>569私も同じことで苦戦しているのですが、どうすればいいのですか?

577名無しさん:2014/11/23(日) 06:06:27 ID:Lb/Jfqu2
>>576,569
https://twitter.com/notohoho/status/535086519308926976

578名無しさん:2014/11/23(日) 11:20:18 ID:zu43iMb.
>>577ありがとうございます

579名無しさん:2014/11/23(日) 13:57:22 ID:zu43iMb.
>>577やったか!?と思ったけどできませんでした。
LOADSUB というのでシンタックスエラーが出てしまいます。
どうやったらできますか?

580名無しさん:2014/11/23(日) 16:16:47 ID:CL0nFoyE
プログラムを覚えるにはどこのサイトをみたらいいでしょうか

581僕もプログラムのサイト教えてください:2014/11/23(日) 18:31:46 ID:peouqp2Q
p

582名無しさん:2014/11/24(月) 00:14:28 ID:m30W0Za2
PAINTのとこにあるG0とG1っていうのは
「ここにオリジナルの素材とか描いてくれよな!」
って領域なんですか?
真実を知るまで怖くて手が出せません・・・

583名無しさん:2014/11/24(月) 06:45:41 ID:Lb/Jfqu2
>>579
https://miiverse.nintendo.net/posts/AYIHAAAEAADcU5Qx7Es57Q

>>582
その認識でも、だいたい合っています。
厳密な事は、後でもっとプチコン3号を
深く理解できるようになってからで構わないでしょう。

584名無しさん:2014/11/24(月) 11:53:31 ID:m30W0Za2
>>583

ありがとうございます!

585名無しさん:2014/11/24(月) 17:51:27 ID:zu43iMb.
ありがとうございます

586名無しさん:2014/11/25(火) 09:11:40 ID:CL0nFoyE
BASICっていろいろ種類がありますが
どれを覚えたらプチコンでゲームを作れますか?
SmallBASICでもいいんでしょうか

587天郷思音 ◆vCvQmsUz9g:2014/11/25(火) 11:29:59 ID:AZewKph.
>>586
やはりプチコンを買うのがベター。
VBAじゃないBASICならある程度通じるところがあるけど、やっぱりそれぞれでクセ(差異)があるから、別のBASICからはじめるのはおすすめではない。

588名無しさん:2014/11/25(火) 12:59:17 ID:CL0nFoyE
なるほど、わかりました。
ありがとうございます。

589名無しさん:2014/11/25(火) 23:28:10 ID:lA1Ywyl6
プチコン3号に内蔵してある電子取扱説明書の場所(起動する場所)がわからないのですがどこにあるのですか?
教えてください

590名無しさん:2014/11/25(火) 23:32:10 ID:zu43iMb.
自己解決しました。すみませんでした

591名無しさん:2014/11/27(木) 22:48:24 ID:DWKD9vFc
自分が作った画像を使ったゲームを他人に公開したいときって、
フォルダを新しく作って、そのフォルダの中だけでGRPを保存したりプログラムを組んだりして、
最終的にフォルダごとアップロードして公開って感じですか?

592名無しさん:2014/11/28(金) 20:13:40 ID:peouqp2Q
マイクラみたいなゲーム誰か作ってくれませんか
そしたらgtavそっくりのゲームの公開キーをその人だけに教えます
Facebookで友達になって公開キーを教えてください
僕も公開キーを教えます♪( ´▽`)お互い得していいと思いませんか?
誰か返事ください!!待ってます

593名無しさん:2014/12/04(木) 07:49:03 ID:DwncXLFw
スマイルツール内のMAPでつくったBGデータのロードの仕方がわかりません。

DIM A%[65796]
LOAD"DAT:MAP1",A%
BGLOAD 0,0,0,50,50,A%

MAPのソースを参考にしたこれでうまくいかないのですが、考え方として正しくないのでしょうか、、、。

594名無しさん:2014/12/04(木) 22:30:56 ID:Lb/Jfqu2
>>593
>>583

595593:2014/12/04(木) 23:43:45 ID:9YUCYSvE
>594
ありがとうございます。
既に話題に出てたのですね。
BGで検索かけたため、見逃してしまってました・・・。

596名無しさん:2014/12/05(金) 16:06:49 ID:6.OZwkjY
PUTCENTER(13,-256,"もじ")
DEF PUTCENTER(Y,Z,S$)
LOCATE (50-LEN(S$))/2,Y,Z
PRINT S$;
END

これで1行目にSyntax errorが出ました。
なぜですか?

597名無しさん:2014/12/05(金) 17:42:16 ID:Lb/Jfqu2
DEFの時に()を使うタイプのユーザー関数の作り方は、
必ず戻り値がなくてはいけないことになっています。

一行目で、
ユーザー関数PUTCENTERは戻り値を返すはずなのに、
その戻り値を活用したり受け取る方法が指示されてないのでエラーになります。

一行目を解決しても、ユーザー関数PUTCENTERは実際には
必要な戻り値を返す行為をしないので別のエラーになります。

戻り値が無いユーザー関数を作りたい場合は
()を使わないDEFの書き方をしてください。
ちなみに、その場合はユーザー関数とは呼ばず
「ユーザー命令」と呼び方が変わるようです。混同しても通じると思いますけど。

598名無しさん:2014/12/05(金) 18:11:39 ID:6.OZwkjY
>>597
PUTCENTER 13,-256,"もじ"
DEF PUTCENTER Y,Z,S$
LOCATE (50-LEN(S$))/2,Y,Z
PRINT S$;
END

()を外したら実行出来ました!
ありがとうございました!

599名無しさん:2014/12/07(日) 00:25:33 ID:3MmUzRb6
GCIRCLEの開始角終了角を使って円をだんだん描いていくっていうのをmk2でしていたのですが、
今回それがなくなったみたいで…代用する方法何かないでしょうか?
GCIRCLEで描画したものにぴったり合わさり、
かつ、だんだん円が描画されるように描画していきたいです。
GPSETをサインコサインで描いていく方法ではGCIRCLEにぴったり合わさらなかったので…。

600名無しさん:2014/12/07(日) 01:12:14 ID:Lb/Jfqu2
とりあえず、
自前で GCIRCLEで描画したものにぴったり合わさる 円を描く方法は
ttp://fussy.web.fc2.com/algo/algo2-1.htm
このページで紹介されている方法(最下部)でできましたよ

すぐ上には、少しの工夫で円弧も描ける、と説明されているので
その工夫ができればなんとかなるかな・・・?

あとは、ご自身で工夫なさるか、他の方のアドバイスを待つか、
GCIRCLEを使うのを諦めて全て自前で円を描くようにするか、でしょうか。

601名無しさん:2014/12/07(日) 02:03:48 ID:3MmUzRb6
>>600
回答ありがとうございます!
す、すごい…
これを改良して使っていきたいと思います!

602hill x2:2014/12/07(日) 09:00:16 ID:3PdlWGXc
え〜と、1~20と1~6のルーレットを同時に使えるようしてほしいです。ちなみに、クトゥルフTRPGに使おうと思っています。

603名無しさん:2014/12/07(日) 13:07:19 ID:Lb/Jfqu2
現状の、「どちらか1つしか同時に使えていない」状態の
ルーレットのソースコードを見せてください。
改善点がアドバイスしやすくなります。

604名無しさん:2014/12/09(火) 11:27:57 ID:v1lfoElo
下画面に四角いボタンをいくつか表示して
そこをタッチすると何か動作する(音が出るとか色が変わるとか)
というプログラムを作ってるんだけど
@MAIN
TOUCH OUT T,X,Y
IF X<50 AND X>90 AND Y<50 AND Y>90 THEN @SUB1
GOTO @MAIN
@SUB1
(他の命令)
GOTO @MAIN

あほな自分なりに考えてこのようにしたけど
タッチしても何も起こらない(エラーもでない)。
なにか考え方間違ってますか?
もっと巧みなやり方もあるんだろうけど
とりあえずこのやり方の間違いを教えてもらえるとうれしいです。

605604:2014/12/09(火) 11:41:47 ID:v1lfoElo
604の書き込みは不等号の向きがぜんぶ逆でした。

で、いま確認のためにRUNしたら普通に動きました。
昨夜,半徹夜でやってたのでぼけてたのかもしれません。
すみませんでした。

606604:2014/12/09(火) 11:57:13 ID:v1lfoElo
というわけで質問を少し変更させてもらいます。
どこをタッチしたか判定する際に、ボタンをシンプルな四角とかにして
IF X>50 AND X<90 AND Y>50 AND Y<90 THEN @SUB1
とやるくらいしか自分には思いつかないのですが
もっと複雑な形のボタンとか、移動するスプライトをボタンがわりにするとかのときには
この方法では限界がありそうです。
これに関連する命令とかってないでしょうか。

607名無しさん:2014/12/09(火) 17:14:14 ID:Lb/Jfqu2
プログラムですから、それを実現する方法は様々あり、どれが正解という事はありません。

「複雑な形の当たり判定」を実現するために、座標などいろいろ計算してもよいですが、
当たり判定の形の図形を描いておいて、タッチした位置で GSPOIT し、
読み取った色を元に判断する、という方法もあります。

「移動するスプライトを当たり判定」にするためには、
タッチした位置で SPHITRC する方法が一般的だと思いますが、

スプライトを管理するために座標などの変数を既に用意しているなら
それを使ってもいいし、
SPOFS OUT で座標、SPDEF OUT で縦横の幅、SPSCALE OUT で拡大率を
それぞれ得て計算してもいいです。

608名無しさん:2014/12/14(日) 16:30:51 ID:yBRr2aKo
迷路を作ろうと思ってるのですがBGの壁にスプライトが進めないようにしたいのですがどうしたらいいですか?頑張ってみたのですが全然できませんでした

609名無しさん:2014/12/14(日) 20:18:38 ID:yBRr2aKo
プチコン3号です

610名無しさん:2014/12/14(日) 20:49:09 ID:yBRr2aKo
BGGET命令を見つけました。それで判定はできるんですが真ん中に行かないと反応しませんし右と左のどちらからぶつかったら右側でそれ以上動けないなどにしたいのでまだ未解決です。

611名無しさん:2014/12/14(日) 20:51:51 ID:yBRr2aKo
あっもちろん左からだったら左側で上側からだったら上側で下側からだったら下側でそれ以上進めないというようにしたいです。連コメ及び長文失礼しました。

612名無しさん:2014/12/15(月) 01:48:50 ID:Lb/Jfqu2
キャラクターを実際に進ませる前に
これから進みたい方向の位置に対してBGGETしてみて
壁が無い時だけ進ませる(壁がある時は進む処理をキャンセルする)
ようにすれば良いでしょう。

もっと詳細に具体的に書き方を知りたい場合は、
現在のあなたのプログラムを見せていただければ
どこに何をどう書き加えたりすれば良いかアドバイスできると思います。

613名無しさん:2014/12/15(月) 17:19:41 ID:yBRr2aKo
>>612 回答ありがとうございます。ヘルプとにらめっこして頑張ります。

614名無しさん:2014/12/15(月) 22:27:41 ID:kSVD2mj6
プチコンってSD内の画像を表示したり加工したりできますか?

615614:2014/12/16(火) 17:51:27 ID:IIu/N8N.
解決しました

616名無しさん:2014/12/16(火) 20:52:03 ID:StfxjRhA
3号です。
セレクト、スタートボタンによる強制終了を回避したいのですが…
皆さまのお力をお貸しくだしゃい。
ちなみに用途はログイン失敗のペナルティタイムです。

617名無しさん:2014/12/16(火) 21:45:08 ID:Lb/Jfqu2
スタートボタン・セレクトボタンを
無効化したりすることはできません

618616:2014/12/17(水) 04:20:58 ID:StfxjRhA
なんと…
ありがとうございました。

619616:2014/12/19(金) 19:23:32 ID:StfxjRhA
連投すみません。
20面ダイスをふるプログラムを書こうとしたのですが、
一度走らせると大量の結果が吐き出されます。
FOR〜NEXTを入れてもまるでダメ。
このままだとパラノイアをプレイするのに幸福ではありません!
何卒お力添えをお願いします。
以下プログラムです。
@DICE
B=BUTTON(2)
IF B=16 THEN GOTO @RAMDOM
IF B!=16 THEN GOTO @DICE
@RAMDOM
D=RND(21)
IF D=0 THEN GOTO @RAMDOM
PRINT D
GOTO @DICE

620616:2014/12/19(金) 19:28:07 ID:StfxjRhA
BUTTON=(2)
はAボタンに対応させています。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板