| 2005/05/07(Sat) 02:36:09 編集(投稿者)
はじめまして。axiomと申します。 2.1系の開発版の場合、必ず4ケタの番号がついてますので、
・Left(Right(Info(マップ,X座標,Y座標,ビットマップ名),8),4)
で簡単に参照可能ですが、 (※拡張子が3文字でローカルマップチップ使ってない場合) 2.0系安定版の場合、少し複雑な処理が必要になります。
<やりかた> ビットマップ名が「文字列 + 数字 + . + 拡張子」の順番に 並んでいることを利用します。
(1) ビットマップ名を調べる。 "X座標"と"Y座標"には実際の座標をいれてください。
FNM = Info(マップ, X座標, Y座標, ビットマップ名)
(2) "."までの文字を切り出す Instr関数とMid関数を使います。
MBMP = Mid(FNM, 1, (Instr(FNM,".") - 1))
(3) 左から一文字ずつ切り出して数字またはマイナスかどうかを判定する 具体的に書くと以下のようになります。
For i = 1 To Len(MBMP) If Mid(MBMP,i,1) = "-" OR IsNumeric(Mid(MBMP,i,1)) Then MNUM = Mid(MBMP, i) Break Endif Next
MNUMに入っている値がビットマップ番号になります。
複数の関数を駆使していますので、かなり難しいと思いますが、 やってできないことはないです。 わからないところはヘルプの関数のところを熟読してみてください。
|