プチコンまとめWiki (初代/mkII)

Toukou/アニメーション作成 の変更点


#title(投稿プログラム : アニメーション作成)
#contents
// ↑この2行は削除しないでください。
// ←このように「//」で始まる行はコメントです。ページ本文には反映されません。
//------------------------------------------------------------------------------
// ・投稿年月日は、このページを投稿しようとしている今日の日付を半角数字で入力してください。
//   この日付は、投稿プログラムを自動的に年月日順に並べる際に使用されます。
// ↓↓↓
2012年5月20日投稿
// ↑↑↑
//------------------------------------------------------------------------------
// ・投稿者名は、将来的に投稿プログラム一覧に表示するために使用します。
// ・「名無しさん」のままにしておくと、匿名の方からの投稿として扱われます。
// ↓↓↓
/ 投稿者 : いったん
// ↑↑↑
//------------------------------------------------------------------------------
// ・適当にタグをつけることができます。半角のコンマ区切りで複数つけられます。
//   タグをつけると、同じタグが付いたページを検索することができます。
// ★次に該当するプログラムは、特定のタグを設定するようご協力お願いします。
//   これらを設定すると、将来的に投稿プログラム一覧に目立つマークが付くようになる予定です。
// ・短いプログラム → 「1行プログラム」「数行プログラム」「1画面プログラム」タグのいずれか1つ
// ・初代プチコンでも動作するプログラム → 「初代対応」タグ
// ・mkII 以降専用のプログラム → 「mkII専用」タグ
// ・QRコードを掲載している → 「QRコード」タグ
// ・該当するなら「ゲーム」「実用ツール」「音楽」タグのいずれか
// ↓↓↓
/ &tag(投稿プログラム,ツール,QRコード,mkII専用);
// ↑↑↑

//------------------------------------------------------------------------------
// ここに概要とか書きます。
// ・** や *** で始まる行は子見出しとなります。* の数で深さが決まります。
// ・[#英数字] はページ内リンクに使用されるアンカーですが、
//   書かなかったり、消したりしてもかまいません。ない場合はランダムな文字列が自動付与されます。

* 概要 [#Summary]
簡単なアニメーションを作成するソフトです。~
16枚のアニメを作ることができます。~
キャラクター定義に時間がかかるので作るのにかなり時間がかかります。~
またセーブ&ロードもグラフィックに情報を書き出しているので30〜40秒かかります。~
ご了承ください。

** 諸注意 [#shochuui]
+ バグや誤字があるかもしれません。そのところは自己責任でお願いします。
+ アニメーションに SPU,BGU,SPS のキャラクターを利用しています。なので元あったキャラクターは消えます。 
-- &BASIC{FILEMENU→E};で初期状態に戻ります。
+ まだ機能が少ないのでどんどん改造してやってください。




/////////////////////////////////

* スクリーンショット・動画 [#ScreenShots]
動作しているところを撮影した写真や動画があれば貼り付けてください。

// ページを作成すると、画像の添付ができるようになります。(作成する前はできません)
// 作成後のページの右上、ウィキメニューにある「添付」から画像をアップロードできます。
// (添付ファイルはページごとに別個に管理されています。必ず作成後のページに添付してください)
// 画像をアップロードしたら、以下の書式でページ内に貼り付けられます。
// #ref(添付ファイル名)

// 以下の書式で、YouTube やニコニコ動画を貼り付けられます。
// #youtube(0HWX7kovgY8)
// #nicovideo(sm13684820)

/////////////////////////////////
// QR コードがない場合は、この部分は削除してください

* QR コード [#QR]
プチコンmkII 向けの QR コードです。

// 【重要】旧プチコンから mkII に転送したプログラムは、mkII で保存しなおしてから
// QR コード化すると、枚数が半分ぐらいに減ります。ぜひお試し下さい。
// 【重要】添付できるのは画像ファイルのみです。zip ファイルは解凍してください。

// ページを作成すると、QR コードの添付ができるようになります。(作成する前はできません)
// 作成後のページの右上、ウィキメニューにある「添付」から画像をアップロードできます。
// (添付ファイルはページごとに別個に管理されています。必ず作成後のページに添付してください)
// QR コードをアップロードしたら、以下の書式でページ内に貼り付けられます。
// #ref(アップロードしたファイル名)

// QR コードを大きくしたい場合は、倍率指定ができます。コンマは必ず 2 つ指定してください。
// ブラウザによっては補完がかかってボケますが、それでも問題なく読み込み可能です。
// #ref(アップロードしたファイル名,,200%)

// 複数の QR コードを貼り付けるために表組みを用いる場合、&ref(); を使用します。
// (#ref() を表に埋め込んでしまうと、古い Internet Explorer でうまく表示されません)
|>|~PRG:ANIME|
|~1/4|~2/4|
|&ref(qr0.PNG);|&ref(qr1.PNG);|
|~3/4|~4/4|
|&ref(qr2.PNG);|&ref(qr3.PNG);|
/////////////////////////////////

* プログラムリスト [#List]
#basic{{
’anime editor v1.00 by ittan
’
’キヲツケテ ホシイコト ナト゛
’1.
’ハ゛ク゛&コ゛シ゛ カ゛アルカモ シレマセン。
’ソコハ シ゛コセキニンテ゛ オネカ゛イシマス。
’マタ、wikiニ ホウコクシテイタタ゛クト
’タスカリマス。
’2.
’SPU,BGU,SPSナト゛ノ キャラ ヲ シヨウ
’シテイルノ テ゛ モトアッタモノハ ケサレマス。チュウイ
’ファイル→END テ゛ ショキシ゛ョウタイ ニ
’モト゛リマス。
’3.
’マタ゛ キノウカ゛ スクナイノテ゛ ト゛ント゛ン
’カイソ゛ウ シテミテ クタ゛サイ。

ACLS:CLEAR
PNLTYPE ”OFF”
MAXP=16
DIM C$(MAXP),COPYC$(32)
DATA SPU0,SPU1,SPU2,SPU3,SPU4
DATA SPU5,SPU6,SPU7,SPS0,SPS1
DATA BGU1U,BGU2U,BGU3U
DATA BGU1L,BGU2L,BGU3L
FOR I=0 TO MAXP−1:READ C$(I)
NEXT
ICONPUSE=0
ICONSET 0,8
ICONSET 1,9
ICONSET 2,59
COL=15  
V$=”1.00”
PAGE=0
GOSUB @COLCH

@MAINS メインカ゛メン
?”┌──────────────────┐
?”│anime editor v”;V$;”│”
?”└──────────────────┘
?
?”А:カラ− ヘンコウ
?”Б:スクリ−ンクリア/アニメ ストッフ゜
?”Х+タッチ:fill ヌリツフ゛ス
?”н+タッチ:ケシコ゛ム
?”  タッチ:カラ−ヘ゜ン
?”START:アニメ スタ−ト
?”↑:マエノ ヘ゜−シ゛/アニメスヒ゜−ト゛up
?”↓:ツキ゛ノヘ゜−シ゛/アニメスヒ゜−ト゛down
?”←:マエノ ヘ゜−シ゛+コノヘ゜−シ゛ホソ゛ン
?”→:ツシ゛ノヘ゜−シ゛+コノヘ゜−シ゛ホソ゛ン
PNLSTR 20,0,”color”
PNLSTR 21,1,”┌─┐”
PNLSTR 21,2,”│ │”
PNLSTR 21,3,”└─┘”
PNLSTR 0,0,”┌────────────────┐”
FOR I=1 TO 16
PNLSTR 0,I,”│                │”
NEXT
PNLSTR 0,17,”└────────────────┘”


@MAIN エテ゛ィタ−
IF DRAWFLG==0 THEN GOSUB@PDRAW
BT=NOT(B) AND BUTTON()
B=BUTTON()
IC=ICONCHK()
IF BT THEN GOSUB@BTN
IF IC!=−1 THEN GOSUB@ICON
IF TCHST THEN GOSUB@TCH
IF TCHST==0 THEN LT=0
IF TCHST==0 AND LFLG==1 THEN LFLG=0:GFILL TCHX,TCHY,LX,LY,COL
IF TFLG==1 THEN GOSUB@SETP
VSYNC 1
GOTO@MAIN


@BTN ホ゛タンチェック
IF BT AND 1 THEN P=P−1:DRAWFLG=FALSE
IF BT AND 2 THEN P=P+1:DRAWFLG=FALSE
IF BT AND 8 THEN P=P+1:DRAWFLG=FALSE:TFLG=1
IF BT AND 4 THEN P=P−1:DRAWFLG=FALSE:TFLG=1
IF BT AND 32 THEN GFILL 8,8,135,135,0
IF BT AND 16 THEN GOSUB @COLCH0
IF BT AND 1024 THEN @CANIM
IF P<0 THEN P=MAXP−1
IF P>MAXP−1 THEN P=0
RETURN

@ICON アイコンチェック
IF IC==0 THEN GOSUB @COPY
IF IC==1 THEN GOSUB @PAST
IF IC==2 THEN GOTO@FILEMENU
RETURN

@TCH タッチチェック
X=TCHX
Y=TCHY
IF X>135 OR Y>135 OR X<8 OR Y<8 THEN RETURN
IF B AND 512 THEN GFILL X−3,Y−3,X+2,Y+2,0:RETURN
IF B==128 AND LT==0 THEN LFLG=1:LT=1:LX=X:LY=Y
IF B==128 THEN RETURN
IF LT==0 THEN OX=X:OY=Y
GLINE X,Y,OX,OY,COL
OX=X:OY=Y
LT=1
RETURN

@SETP ヘ゜−シ゛カキコミ
BEEP 0
LOCATE 0,3:?”wait:○○○○○○○○”
FOR J=0 TO 255
CH$=””
 FOR I=0 TO 63
 X=(J%16*8)+I%8+8
 Y=(FLOOR(J/16)*8)+FLOOR(I/8)+8
 C=GSPOIT(X,Y)
 CH$=CH$+HEX$(C)
 NEXT 
 CHRSET C$(PAGE),J,CH$
IF J%32==0 THEN LOCATE J/32+5,3:?”●”;
NEXT
BEEP 3
TFLG=0
LOCATE 0,3:?”             ”
RETURN

@COPY ヘ゜−シ゛ヲ ヘンスウニ カクノウ
BEEP 0
LOCATE 0,3:?”wait:○○○○○○○○”
FOR J=0 TO 128*64−1
X=J%64*2+8
Y=FLOOR(J/64)+8
C0=GSPOIT(X,Y)
C1=GSPOIT(X+1,Y)
IF J%256==0 THEN COPYC$(J/256)=””
CP$=COPYC$(FLOOR(J/256))
CP$=CP$+CHR$(C0*16+C1)
COPYC$(FLOOR(J/256))=CP$
IF J%1024==0 THEN LOCATE J/1024+5,3:?”●”;
NEXT
BEEP 3
LOCATE 0,3:?”             ”
RETURN

@PAST カクノウシタ ヘンスウ トリタ゛シ
IF COPYC$(0)==”” THEN RETURN
BEEP 0
LOCATE 0,3:?”wait:○○○○○○○○”
FOR J=0 TO 128*64−1
CH$=MID$(COPYC$(FLOOR(J/256)),J%256,1)
C0=FLOOR(ASC(CH$)/16)
C1=ASC(CH$)%16
X=(J%64)*2+8
Y=FLOOR(J/64)+8
GPSET X,Y,C0
GPSET X+1,Y,C1
IF J%1024==0 THEN LOCATE J/1024+5,3:?”●”;
NEXT
BEEP 3
LOCATE 0,3:?”             ”
RETURN

@COLCH0
COL=COL+1 AND 15
@COLCH カラ− インシ゛
GPAGE 1
GFILL 173,13,186,26,COL
PNLSTR 22,4,STR$(COL)+” ”
RETURN

@PDRAW ヒョウシ゛
PAGE=P
GPAGE 1
A$=C$(PAGE)
FOR I=0 TO 255
X=I%16*8+8
Y=FLOOR(I/16)*8+8
GFILL X,Y,X+7,Y+7,0
GPUTCHR X,Y,A$,I,0,1
NEXT
DRAWFLG=TRUE
PNLSTR 0,18,”page:”+STR$(PAGE)+”  ”
RETURN

@CANIM アニメサイセイ
P=0:TIME=0:ITV=8
@ALOOP
PNLSTR 0,19,”interval:”+STR$(ITV)+” ”
TIME=TIME+1
IF TIME%ITV==0 THEN P=P+1:GOSUB@PDRAW
IF P==MAXP−1 THEN P=−1
BT=NOT(B) AND BUTTON()
B=BUTTON()
IF BT AND 32 THEN GOTO@MAIN
IF BT AND 1 THEN ITV=ITV−1
IF BT AND 2 THEN ITV=ITV+1
IF ITV==0 THEN ITV=1
VSYNC 1
GOTO@ALOOP

@FILEMENU ファイル
CLS
GCLS
?”L:lode anime
?”S:save anime
?”E:end”
I0$=”モ−ト゛センタク”
GOSUB @IP
A=INSTR(”LSE”,N$)
ON A GOSUB @CLOAD,@CSAVE,@CEND
CLS
BEEP 7
DRAWFLG=FALSE
GOSUB @COLCH
GOTO@MAINS

’−−−−−−−−−−−−−−−−−−−−−−−−−
’ロ−ト゛ セ−フ゛ ハ キャラヲ ク゛ラフィックニ
’ヘンカンシテ チイサクシテイマス。”
’−−−−−−−−−−−−−−−−−−−−−−−−−
@CLOAD ロ−ト゛
GCLS:CLS
I0$=”ロ−ト゛スルナマエハ”
GOSUB @IP
S0$=”GRP0:”+N$+”0”
S1$=”GRP1:”+N$+”1”
S2$=”GRP2:”+N$+”2”
LOAD S0$
LOAD S1$
LOAD S2$
IF RESULT==0 THEN RETURN
GPAGE 1,0,0
CLS
?”キロクチュウ”
T=2100
TIME=MAINCNTL
FOR CH=0 TO MAXP−1
LOCATE 0,0:?”アト”(T−(MAINCNTL−TIME))/60”ヒ゛ョウ”,,
LOCATE 0,1:?”page”CH”/”MAXP−1
IF CH==6 THEN GCLS:GPAGE 1,1,1
IF CH==12 THEN GCLS:GPAGE 1,2,2
Y1=CH%6*32
FOR I=0 TO 255
A$=””
 FOR J=0 TO 31
 X=(I*32+J)%256
 Y=FLOOR(I/8)+Y1 
 C2=GSPOIT(X,Y)
 C0=FLOOR(C2/16)
 C1=C2%16
 A$=A$+HEX$(C0)+HEX$(C1)
 NEXT
 CHRSET C$(CH),I,A$
NEXT
NEXT
GCLS
RETURN

@CSAVE セ−フ゛
CLS
T=2700
TIME=MAINCNTL
?”キロクチュウ”
GPAGE 1,0,0
GCLS
FOR CH=0 TO MAXP−1
LOCATE 0,0:?”アト”(T−(MAINCNTL−TIME))/60”ヒ゛ョウ”,,
LOCATE 0,1:?”page”CH”/”MAXP−1
IF CH==6 THEN GPAGE 1,1,1:GCLS
IF CH==12 THEN GPAGE 1,2,2:GCLS
Y1=CH%6*32
FOR I=0 TO 255
CHRREAD(C$(CH),I),A$
 FOR J=0 TO 31
 C0=VAL(”&H”+MID$(A$,J*2,1))
 C1=VAL(”&H”+MID$(A$,J*2+1,1))
 C2=C0*16+C1
 X=(I*32+J)%256
 Y=FLOOR(I/8)+Y1
 GPSET X,Y,C2
 NEXT
NEXT
NEXT
I0$=”セ−フ゛メイハ”:GOSUB @IP
S0$=”GRP0:”+N$+”0”
S1$=”GRP1:”+N$+”1”
S2$=”GRP2:”+N$+”2”
SAVE S0$
SAVE S1$
SAVE S2$
GPAGE 0,0,0:GCLS
GPAGE 1,2,2:GCLS
GPAGE 1,1,1:GCLS
RETURN

@CEND オワリ
FOR I=0 TO MAXP−1
CHRINIT C$(I)
NEXT
ACLS
?”オツカレサマ。”
END

@IP INPUTショリ
’−−−−−−−−−−−−−−−−−−−−−−−−−−−
’フツウニ INPUT スルト SPS1ヲ 
’イシ゛ッテイルカラ カ−ソルカ゛ オカシクナルノテ゛
’INKEY$()テ゛ タ゛イヨウシマシタ。
’−−−−−−−−−−−−−−−−−−−−−−−−−−−
PNLTYPE ”KYA”
N$=””
Y=CSRY
LOCATE 0,Y
?I0$
@IPL
LOCATE 0,Y+1
?N$”_ ”
A$=INKEY$()
IF KEYBOARD==15 THEN N$=LEFT$(N$,LEN(N$)−1+(N$==””))
IF A$==CHR$(13) THEN PNLTYPE ”OFF”:RETURN
N$=N$+A$
VSYNC 1
GOTO@IPL

}}

/////////////////////////////////
// コメントを募集したくないなら、ここから下は削除してください

* CHECKER FLAG (ひとことコメント) [#Comments]
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は[[掲示板>Board]]へ)
- ''名無しさん'' : いまいちだな (&new{2012/05/20 (日) 15:31:45};)
- ''hata0401'' : 300行も書けねーよ! (&new{2012/06/13 (水) 20:39:14};)
- ''いったん(投稿者)'' : ではぜひqrコードを読み取ってください・・・。プログラムリストは参考用なので打ち込んでもらおうとは思っていないです。 (&new{2012/06/13 (水) 22:09:05};)
- ''hata0401'' : ツカイカタガワマリカセン (&new{2012/07/24 (火) 16:48:09};)
- ''hata0401'' : ツカイカタガワマリカセン (&new{2012/07/24 (火) 16:48:54};)
- ''名無しさん'' : 元は画面のやつを手打ちでうつしたものさ・・・QR超便利 (&new{2012/08/03 (金) 22:59:32};)

#comment

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.015 秒 | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30