• 大小: 5.27MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-20
  • 语言: 其他
  • 标签: unity  c#  

资源简介

目前做了一款拼图小游戏,不规则的图形,自由拖拽,网上其他拼图大部分都是基于九宫格的类似华容道拼图模式,我做的时候没有找到我这种类型的相关的项目代码(有一付费下载,然后发现是用3d实现碰撞,然后正交相机来模拟2d),所以现在来记录一下自己的完成思路. 2019.6.20更新的新版本,优化了上个版本乱七八糟的代码,现在算是一款完整的拼图小游戏了。

资源截图

代码片段和文件信息

using UnityEngine;
using UnityEditor;
using System.IO;
public class TestSaveSprite
{
    [MenuItem(“Tools/导出Sprites“)]
    static void SaveSprite()
    {
        string resourcesPath = “Assets/Resources/“;
        foreach (object obj in Selection.objects)
        {
            string selectionPath = AssetDatabase.GetAssetPath(obj);
            // 必须最上级是“Assets/Resources/“
            if (selectionPath.StartsWith(resourcesPath))
            {
                string selectionExt = Path.GetExtension(selectionPath);
                if (selectionExt.Length == 0)
                {
                    continue;
                }
                // 从路径“Assets/Resources/UI/testUI.png“得到路径“UI/testUI“
                string loadPath = selectionPath.Remove(selectionPath.Length - selectionExt.Length);
                loadPath = loadPath.Substring(resourcesPath.Length);
                // 加载此文件下的所有资源
                Sprite[] sprites = Resources.LoadAll(loadPath);
                if (sprites.Length > 0)
                {
                    // 创建导出文件夹
                    string outPath = Application.dataPath + “/Resources“ + “/outSprite/“ + loadPath;
                    Directory.CreateDirectory(outPath);
                    int index = 0;
                    foreach (Sprite sprite in sprites)
                    {
                        // 创建单独的纹理
                        Texture2D tex = new Texture2D((int)sprite.rect.width (int)sprite.rect.height sprite.texture.format false);
                        tex.SetPixels(sprite.texture.GetPixels((int)sprite.rect.xMin (int)sprite.rect.yMin
                        (int)sprite.rect.width (int)sprite.rect.height));
                        tex.Apply();
                        // 写入成PNG文件
                        File.WriteAllBytes(outPath + “/“ + index + “.png“ tex.EncodeToPNG());
                        index++;
                    }
                    Debug.Log(“SaveSprite to “ + outPath);
                }
                else
                {
                    Debug.Log(“所选Sprite的子级没有内容“);
                }
            }
            else
            {
                Debug.Log(“path is err“);
            }
        }
        Debug.Log(“SaveSprite Finished“);
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-06-20 12:30  LittleGame5.23\
     目录           0  2019-05-24 11:14  LittleGame5.23\.vs\
     目录           0  2019-05-24 11:14  LittleGame5.23\.vs\LittleGame5.23\
     目录           0  2019-05-24 11:15  LittleGame5.23\.vs\LittleGame5.23\v15\
     文件      133632  2019-06-13 09:35  LittleGame5.23\.vs\LittleGame5.23\v15\.suo
     目录           0  2019-05-24 11:14  LittleGame5.23\.vs\LittleGame5.23\v15\Server\
     目录           0  2019-05-24 11:45  LittleGame5.23\.vs\LittleGame5.23\v15\Server\sqlite3\
     文件           0  2019-05-24 11:14  LittleGame5.23\.vs\LittleGame5.23\v15\Server\sqlite3\db.lock
     文件      913408  2019-06-13 04:11  LittleGame5.23\.vs\LittleGame5.23\v15\Server\sqlite3\storage.ide
     文件       32768  2019-06-13 09:18  LittleGame5.23\.vs\LittleGame5.23\v15\Server\sqlite3\storage.ide-shm
     文件     4144752  2019-06-13 09:35  LittleGame5.23\.vs\LittleGame5.23\v15\Server\sqlite3\storage.ide-wal
     目录           0  2019-06-13 04:42  LittleGame5.23\Assets\
     目录           0  2019-05-27 15:42  LittleGame5.23\Assets\Editor\
     文件        2419  2019-05-27 15:42  LittleGame5.23\Assets\Editor\SpriteTailed.cs
     文件         262  2019-05-24 11:14  LittleGame5.23\Assets\Editor\SpriteTailed.cs.meta
     文件         191  2019-05-24 11:44  LittleGame5.23\Assets\Editor.meta
     目录           0  2019-06-10 18:10  LittleGame5.23\Assets\Resources\
     目录           0  2019-06-11 22:07  LittleGame5.23\Assets\Resources\Prefabs\
     目录           0  2019-06-12 19:46  LittleGame5.23\Assets\Resources\Prefabs\Mask\
     文件        9584  2019-06-12 19:46  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask1.prefab
     文件         209  2019-06-11 22:07  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask1.prefab.meta
     文件        9584  2019-06-12 19:46  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask10.prefab
     文件         209  2019-06-11 22:07  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask10.prefab.meta
     文件        9584  2019-06-12 19:46  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask11.prefab
     文件         209  2019-06-11 22:07  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask11.prefab.meta
     文件        9584  2019-06-12 19:46  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask12.prefab
     文件         209  2019-06-11 22:07  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask12.prefab.meta
     文件        9584  2019-06-12 17:11  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask13.prefab
     文件         209  2019-06-11 22:07  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask13.prefab.meta
     文件        9584  2019-06-12 17:10  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask14.prefab
     文件         209  2019-06-11 22:07  LittleGame5.23\Assets\Resources\Prefabs\Mask\mask14.prefab.meta
............此处省略764个文件信息

评论

共有 条评论