javascript - Bagaimana untuk menambah kotak pengesanan perlanggaran kepada sejumlah besar sprite?
phpcn_u1582
phpcn_u1582 2017-05-31 10:39:16
0
1
665

Saya mempunyai helaian sprite, dan setiap bingkai di dalamnya mempunyai saiz yang berbeza, seperti yang ditunjukkan di bawah:

Sekarang saya ingin menambah kotak pengesanan perlanggaran untuk mereka, tetapi terdapat banyak gambar, dan kedudukan perlanggaran tidak terhad kepada sempadan gambar Dalam kes ini, bagaimana untuk menambah kotak pengesanan bingkai? Bagaimana untuk mendapatkan kedudukan kotak perlanggaran selepas menambahnya? Adakah terdapat alat untuk mencapai ini? Terima kasih banyak~

phpcn_u1582
phpcn_u1582

membalas semua(1)
滿天的星座

Pada asasnya salah satu bahagian yang paling sukar dalam pembangunan permainan ialah pengesanan perlanggaran Cara anda memilih pengesanan perlanggaran mesti diputuskan mengikut keperluan projek anda Secara umumnya, Teorem Paksi Pemisah (SAT) lebih banyak digunakan untuk poligon, seperti milik anda. keperluan tidak terlalu tinggi, hanya gunakan segi empat tepat biasa yang sama saiz untuk pengesanan Jika mesti berubah, simpan bingkai pengesanan perlanggaran untuk setiap keadaan untuk pengesanan perlanggaran, contohnya:

.
var monster = {
    steps : {
        "walk" : {
            "width" : "", //碰撞检测时用于计算的宽度
            "height" : "", //高度
            "imgs" : [] //精灵,可能"walk"这个动作中包含了多帧,进行游戏循环的时候需要逐步变化
            "idx" : 0 //用于判断imgs当前到哪个步骤的下标索引
        },
        "jump" : {
            //同样的
        },
        "run" : {
            //等等
        }
        //........
    }, //保存不同状态下的显示效果和碰撞边框
    "currentStatus" : "walk", //当前的状态,方便相关功能的载入
    "setup" : function(){
        this.x += "";
        this.y += '';
        //用于计算和更新位置
    },
    "draw" : function(){
        //用于绘制
    }
    //......
};
//碰撞检测一般都在游戏循环里单独调用一个方法,通过循环获取活动对象的x,y,width,height来进行检测,这里你可以通过判断一个矩形是否存在一个顶点在另一个矩形内部来得知是否碰撞,当然用sat也是可以的,不过麻烦了点

Sudah tentu, saya hanya memberi anda nasihat rujukan di sini Saya tidak memberi tumpuan kepada pembangunan permainan saya untuk tempoh masa yang saya berminat, sila tunjukkan .

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan