例:キャラ操作(1)

プチコン3号 プチコンBIG 

スプライトキャラの表示・移動

解説

動くキャラクター(自分・敵・弾・アイテムなど)の表示とユーザー操作を行うサンプルコードです。

キャラクターは「スプライト画面」に表示され、命令文は「SP〜」で始まるものを使用します。
スプライト用コマンドの一覧は、スプライトの命令一覧を参照。

サンプルコード

キャラクターの表示

SPSET 0,496
「0」がスプライトの管理番号、「496」はキャラクター番号。
キャラクターの表示や操作にはこのSPSETを必ず1回だけ行う必要があります。
SPSETを書かずに他のSP〜文を書くとエラーになります。
 

キャラクターの移動(表示場所を変える)

SPSET 0,496
SPOFS 0,120,100
「0」はSPSETで指定したスプライトの管理番号、「120,100」で画面の原点(画面左上)からの右に120、下に100(ドット単位)の位置に表示させます。
キャラクターは新しい位置に表示され、元の場所(この場合は0,0)からは消えます。

キャラクターを操作する

十字キーでの操作
SPSET 0,496
X=120:Y=100
@LOOP
B=BUTTON()
IF B==#UP    THEN Y=Y-1
IF B==#DOWN  THEN Y=Y+1
IF B==#LEFT  THEN X=X-1
IF B==#RIGHT THEN X=X+1
SPOFS 0,X,Y
GOTO @LOOP
変数Bにボタン操作の情報を取得し、上下左右が押された場合にキャラの座標X,Yを変化させます。
ただし、これだと斜め入力や、Aボタンを押しながら十字キーを押した場合などは反応しません。
斜め入力や同時押しを有効にしたい場合は「B==#UP」などの部分をすべて「B AND #UP」にします。
※「AND」は、条件同士をつなげる「&&」とは意味が違います。(論理演算子を参照)
スライドパッドでの操作
SPSET 0,496
X=120:Y=100
@LOOP
STICK OUT SX,SY
X=X+SX
Y=Y-SY
SPOFS 0,X,Y
GOTO @LOOP
スライドパッドの場合、X座標は右が+なのに対し、Y座標は上が+になります。
動くスピードを変える場合は「X=X+SX」の部分を「X=X+SX*3」などのようにします。(Yも同じ)

参照

サンプルについて サンプルコードについての解説
例:文字の表示 文字の表示・位置指定・色指定
例:キャラ操作(1) スプライトキャラの表示・移動
例:キャラ操作(2) スプライトキャラのジャンプ・移動制限・アニメーション
例:マップ作成表示 BG画面(背景・マップ)の作成

Facebookコメント