drawDxSpriteの移動について
投稿者 : ツキヒ(YahooBB218113030065.bbtec.net)
- 2004/03/31(Wed) 22:05
No.5823
|
|
|
|
|
こんにちは。
drawDxSpriteでの画像を移動させて登場する方法を思いついたのですが、なかなかうまくいかなくて・・・ 画面外、左から真ん中あたりで静止して、画面右外へ向けて移動し消えるような感じにしていきたいと思います。 今現在の命令は
//置手紙の発見! //置手紙に触れたら・・・ if($map.getAt(x,y-15+vy)==$pat_okaimono+15) { //表示する残り時間を設定 i=300; } //残り時間内であれば if(i>0) { drawDxSprite(x+0,y+100,$pat_okaimono+16,0,1,0,230,2,2); //表示し、残り時間を減らす i--; }
このようになっています。 何かしら方法などありますでしょうか?
|
Re: drawDxSpriteの移動について
投稿者 : いりゴマ(YahooBB220058112121.bbtec.net)
- 2004/04/01(Thu) 18:13
No.5827
|
|
|
|
プログラムを使っていただきありがとうございます //置手紙の発見! //置手紙に触れたら・・・ if($map.getAt(x,y-15+vy)==$pat_okaimono+15) { //表示用変数を設定 hyouji=1; } //表示用変数が1でなおかつdrawDxSprite用x座標がはしっこまで来ていなければ if(hyouji==1 && xx<$screenWidth) { if(seishi==0)xx++;//静止状態でなければdrawDxSprite用x座標を増やす drawDxSprite(xx,y+100,$pat_okaimono+16,0,1,0,230,2,2); //設定されたdrawDxSprite用x座標xxに表示 if($screenWidth/2==xx)seishi=60;//drawDxSprite用x座標と中心のx座標が一致していれば静止時間を設定 if(seishi>0)seishi--;//静止時間内であれば静止時間を減らす } こんなもんでしょうか。 これまたテストしていないのでわかりませんが。
|
Re: drawDxSpriteの移動について
投稿者 : ツキヒ(YahooBB218113030065.bbtec.net)
- 2004/04/01(Thu) 19:02
No.5833
|
|
|
|
5833.lzh
いえいえ、こちらこそ使わせていただきまして大変感謝しております。
ところで、ちょっと、あちこち変更いたしたものですから上のプログラムと数値の変更などがありまして・・・ ひょっとするとこちらが間違っているかもしれませんが、何も反応がないみたいです。
分かりにくいかもしれませんけれど、添付したファイルを参照していただけると分かりやすいと思います。 こちらでも色々してみるつもりです、ありがとうございます。
|
Re: drawDxSpriteの移動について
投稿者 : いりゴマ(YahooBB220058112121.bbtec.net)
- 2004/04/02(Fri) 08:05
No.5840
|
|
|
|
これでうまくいく・・・と思ったら静止状態で可ts待ってしまいました。無念…。 //置手紙の発見! //置手紙に触れたら・・・ if($map.getAt(x,y-15+vy)==$pat_okaimono+15) { //表示用変数を設定 hyouji=1;xx=0;seishi=0; } //表示用変数が1でなおかつdrawDxSprite用x座標がはしっこまで来ていなければ if(hyouji==1 && xx<$screenWidth) { if(seishi==0)xx++;//静止状態でなければdrawDxSprite用x座標を増やす drawDxSprite(xx+$viewX,y-80+$viewY,$pat_okaimono+16,0,1,0,230,2,2); //設定されたdrawDxSprite用x座標xxに表示 if($screenWidth/2==xx)seishisettei=1;//drawDxSprite用x座標と中心のx座標が一致していれば静止にする if(seishisettei==1){seishi=60;seishisettei=0;} if(seishi>0)seishi--;//静止時間内であれば静止時間を減らす }
|
Re: drawDxSpriteの移動について
投稿者 : ツキヒ(YahooBB218113030065.bbtec.net)
- 2004/04/02(Fri) 13:24
No.5842
|
|
|
|
すごい無理難題なのに、すいません・・・、お世話になります・・・・・
この命令に変えますと、左から現われて真ん中までは来るみたいなんだけれど、それ以降じっとしているみたいで、 右の方へ帰ってくれません。あとコレをこの命令でしているからでしょうか?
$map.scrollTo(trunc(x)-$screenWidth/2,trunc(y)-$screenHeight/1.3);
キャラクターがやや中心のスクロールにしているものですから、なんか左から来るときも動いてしまって変になってしまうみたいです。
そこで、触れると一時的にすべてを止めてこの、左から出てきて右に消えていくのだけを動かしたらどうかと思うのですが timeStopメソッドって言うのは使えるのでしょうか?オブジェクトではないので使えないかもしれませんが、 その他に何か方法はありますか?
画面外左から現われる置手紙を出来るだけ早く中心の位置に移動して静止(10秒くらいかな?)。そして、すぐ画面外右へ出来るだけ早く退散させる、その時の触れたキャラクターは、一時停止したまま。置手紙が画面外右へと消えた瞬間に解除・・・ このようにしたいのですが、難しいでしょうか?
○改良のための実験での発見と問題点 if($screenWidth/1==xx)seishisettei=1;//設定されたdrawDxSprite用のx座標xxに表示
この$screenWidthの値を2から1にすると、一応イメージどうりに移動はします。が、段差のため降りると同時に置手紙が縦移動するのと画面の端っこから出てくるものの中途半端に顔を出している。あと、スピードが少し遅い。
//静止状態でなければdrawDxSprite用のx座標を増やす if(seishi==0)xx++; drawDxSprite(xx-65+$viewX,y-80+$viewY,$pat_okaimono+16,0,1,0,230,2,2);
あと$viewXの所に-65を追加するとうまく左端っこ(画面左外)から出てくるようになりましたが、 その分画面右端に余分に残るようになりました。
|
Re: drawDxSpriteの移動について
投稿者 : ツキヒ(YahooBB218113030065.bbtec.net)
- 2004/04/03(Sat) 16:19
No.5870
|
|
|
|
こういう移動の仕方は出来るでしょうか?
画面外の上のほうから画面中心へと移動して(この移動は出来れば、何か移動したなくらいの速さ)、十秒くらい静止したのちにまた再び、画面外の上のほうへと消えていくというものなのですが、自分でも教えてもらったものなどを色々としてみたけれどうまくいかないのです。
新しく一から作るのは自分には難しいです、他の人たちのを応用できる範囲で作ったほうがいいのでしょうか? ただでさへ・・・面白くないのに・・・・・
|
Re: drawDxSpriteの移動について
投稿者 : ツキヒ(YahooBB218113030065.bbtec.net)
- 2004/04/04(Sun) 10:40
No.5875
|
|
|
|
いろいろ考えまして、5811で教えていただきましたプログラムを使わせていただこうと思います。 あんまり複雑なプログラムだと良く理解もしないで使うのはちょっとあれなので・・・、 もちろんこのプログラムもあんまり理解していませんが少しづつ理解できるようになりたいと思います。 ありがとうございました!
if($map.getAt(x,y-15+vy)==$pat_okaimono+11) { //置手紙に触れたら・・・表示する残り時間を設定 i=600; } if(i>0){//残り時間内であれば drawDxSprite(x+0,y+100,$pat_okaimono+11,0,1,0,230,2,2); i--;//表示し残り時間を減らす }
|
|