アイワナ製作メモ
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

アイワナ製作メモ

2018-06-10 19:27
    覚えたこととか有益な参考サイトをメモするだけ
    リンク先のサイトがもし消えてしまった場合のためにコピペさせてもらいます。


    ・背景画像の大きさの合わせ方
    背景のエディターを開いて「EditBackground」→「Transform」→「Stretch」で800×600にする
    だいたいはアス比が合わないから、「ResizeCanvas」でいじる

    ・背景画像を固定させる
    http://ch.nicovideo.jp/naruusa-aiwana/blomaga/ar470137



    ↑のようなオブジェクトを作って背景を固定したいroomに設置するだけ。
    左のDepthは1000003にしておくべき(yuuutueditionだとタイルのDepthが1000000、一部のトリガー式の針が1000002なので、それ以上に深くしないとタイルやオブジェクトが背景に隠されて見えなくなる)

    アイコンではなくコードで作る場合は
    draw_background(back,x,y)
    この関数を同じように設定する。

    例: 
       固定したい画像名「background50」
     
    drawイベントに
    draw_background(background50,view_xview,view_yview);
    と記述。


    ・playerを中心に画面がスクロールする方法
    http://marubroadcast.web.fc2.com/iwannaMakePlayerFollow.html
    playerが常に画面真ん中にいるような感じにするやつ

    roomのviewsタブ内のObject followingの設定を以下のようにする。
    Object following:player
    Hbor:400(viewの横幅の半分)
    Vbor:300(viewの縦幅の半分)
    Hsp:-1(-1の場合は瞬時に移動)
    Vsp:-1(-1の場合は瞬時に移動)


    ・画面端ギリギリに見えない壁を作る
    ①Altを使って画面ギリギリにオブジェクトを置く
    ②CreationCodeを開いて「image_yscale=19」「image_xscale=19」などと打つ
    (xscaleは横、yscaleは縦。19個引き延ばす(基本的なアイワナの画面の大きさ)



    ・GAMEOVERになってもBGMを止めない
    http://seesaawiki.jp/w/forusian/d/%B8%FA%B2%CC%B2%BB%CA%D4

    ~引用~
    「まず
    worldというオブジェクトのpress R-keyイベントのコードを見てください。
    コードの中に、sound_stop_all();というコードがあると思います。これは全ての音を止める関数なので
    リセットしたときに、全ての音を止めるということになるので、このコードは消すか、
    //sound_stop_all();と、コメントに変えてください。
    次に、scriptsの中のkillPlayerの中のコードを見てください。そのどこかに、
    sound_stop_all();
    とあると思います。このコードのsound_stop_all();は、さっきも書いたとおり、全ての音を止める関数なので
    消すか、コメントに変えてください。これで、GAMEOVERになって、リセットしても音楽が止まらせないように
    することができます。

    sound_play(sndOnDeath);だとBGMが死んだときのままで
    せっかく止めないようにしたのに邪魔になってしまいます
    邪魔したくない人は
    sound_play(sndOnDeath);
    sound_play(sndDeath);にしましょう」



    ・いくつかのアイテムを集めると壁がなくなって先に進める

    global.〇〇=0(〇は適当な名前)とうつと
    いろんなオブジェクトで共有できる

    例)
    りんごとみかんとぶどうを全部食べたらウンコが生成されました。
    解説)
    りんごのcollisionイベントに「global.unk+=1」って打ちます。(+=1は数値1足してますって意味)
    みかんとぶどうにも「global.unk+=1」。
    globalの初期値は基本0。よって「+3」 playerの32マス前にウンコが生成されるとすると、

    stepイベント内

    if(unkflag=0){
    if(global.unk=3){
    instance_create(x+32,y,unk)
    unkflag=1 //1度しか発動させないようにする処置
    }
    }


    全部取ったらブロック壊すとかは
    if(blockflag=0){
    if(global.blockbreakitem=5){
    instance_destroy()
    blockflag=1
    }
    }

    (ブロック壊すためのアイテム5個仮定)



    ・セーブした時のglobal関数の状態を保存する方法

    大きいフォルダのScripts欄の
    saveGame、saveExeの2つをいじるんですけど

    file_bin_write_byte(f,global.item[1]); file_bin_write_byte(f,global.item[2]); file_bin_write_byte(f,global.item[3]); file_bin_write_byte(f,global.item[4]); file_bin_write_byte(f,global.item[5]); file_bin_write_byte(f,global.item[6]); file_bin_write_byte(f,global.item[7]); file_bin_write_byte(f,global.item[8]); file_bin_write_byte(f,global.music);

    こんな感じの文字列あると思うんだけどここに
    さっきのブロック壊す例で例えると
    ブロックがなくなる時に (global.blockbreak(名前何でもいい)=1) とか設定しておいて
    stepイベントに ---------------- if(global.blockbreak=1){ instance_destroy() } ---------------- (global.blockbreak=1のときは消しますってコード)
    global.blockbreak=1をセーブ時に保存するために
    さっきの羅列の一番下のところに file_bin_write_byte(f,global.blockbreak);
    こんな感じで追記するとglobal.blockbreak=1の状態で保存されます。

    saveExeの方にも global.item[1] = file_bin_read_byte(f); global.item[2] = file_bin_read_byte(f); global.item[3] = file_bin_read_byte(f); global.item[4] = file_bin_read_byte(f); global.item[5] = file_bin_read_byte(f); global.item[6] = file_bin_read_byte(f); global.item[7] = file_bin_read_byte(f); global.item[8] = file_bin_read_byte(f); global.music = file_bin_read_byte(f);

    こんな感じの羅列があるので同じように
    global.blockbreak = file_bin_read_byte(f);
    を追記しておけばOK!

    いっぱい追加する際、ちゃんと順番を揃えないと数値バグるので注意!
    変にいじるとバグってしまう箇所ではあるので一応こまめな保存を心がける


    ・プレイヤーが左右画面外に出たときに反対側から戻ってくる

    プレイヤーがObjectに触れた時、x=〇〇 y=〇〇に飛ばす というコード

    collisionイベントに
    with(other){
    x=〇〇
    y=〇〇
    }

    もしくはmove_wrap(hor,vert,margin)


    ・40~60のランダムな数値
    random_range(40,60)
    irandom_range(40,60) こっちは整数のみ選択される


    用語とか

    false(〇〇じゃない)
    step 1秒=50step


    ・タイムラインイベント
    http://seesaawiki.jp/w/forusian/d/%A5%BF%A5%A4%A5%E0%A5%E9%A5%A4%A5%F3%CA%D4

    http://ch.nicovideo.jp/syoken/blomaga/ar147784

    ・オブジェクトを回転させるテンプレ
    http://ch.nicovideo.jp/honyurui/blomaga/ar1262158

    ・色んなスプライト用画像があるサイト
    https://www.spriters-resource.com/

    ・オブジェクトの動きいろいろ
    http://seesaawiki.jp/w/forusian/d/%C6%B0%A4%AD

    ・初心者向け 便利なやつ
    http://ch.nicovideo.jp/sprite/blomaga/ar1056380


    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。