精华内容
下载资源
问答
  • transform.Find查找游戏对象 作为一个新手,因为在这一个地方修改了一个上午,为了以后方便查找于修改,特做笔记纪录。 若有不精,还请各位dalao指教。 起因 刚开始,跟着教程做少许修改,在不知名之时出现了如下...

    transform.Find查找游戏对象

    作为一个新手,因为在这一个地方修改了一个上午,为了以后方便查找于修改,特做笔记纪录。
    若有不精,还请各位dalao指教。

    起因

    刚开始,跟着教程做少许修改,在不知名之时出现了如下错误
    在这里插入图片描述
    按照编译器提示找到语句后,发现并没任何报错
    在这里插入图片描述

    后来,查找翻译以及各位dalao的笔记博客后,才知道是类指向错误。

    查找、解决

    主要解决方法还是参照这位dalao的说明。__(:з」∠)_
    https://blog.csdn.net/teng_ontheway/article/details/47188141

    transform.Find
    根据dalao整理资料,方知transform.Find方法是根据Unity3D中根节点往下寻找,类似我在Unity3D中微改的结点类
    在这里插入图片描述

    根据资料我的根节点为RegistPanel,我的ReGistButton就是我的父节点,以此类推,故
    在这里插入图片描述
    (英语不好请不要吐槽 __(:з」∠)_)

    补充

    据dalao文档,transform.Find对于根节点路径很严格。有时就算复制父节点与孙节点也可能会报错,这样我也只能复制上一个成功指向一步步修改罢了。

    (渣渣一枚,还请dalao指教) _(:з」∠)

    展开全文
  • 每一专区组合能给区域中所有设施提供三个部分的加成(均可叠加):1. 降低区域中所有设施n%的电费;2. 提高区域中所有游戏机一定数值的吸引力;3.提高区域中所有游戏机一定数值的收入。游戏中共有...

           最近在玩开罗游戏的《游戏厅物语》,里边有一个很重要的概念就是专区,大概的意思就是在游戏中,设施只能够布置在特定的区域,同时一旦区域中的设施满足一定的组合,该区域中所有设施都会获得一系列加成。每一类专区组合能给区域中所有设施提供三个部分的加成(均可叠加):1. 降低区域中所有设施n%的电费;2. 提高区域中所有游戏机一定数值的吸引力;3. 提高区域中所有游戏机一定数值的收入。游戏中共有133种专区组合方式,同时有56种不同类别的设施,最大的区域可以放置12台设施。人工找最优布局的话,找几天都不见得找得出来。。。

           如何寻找出我们所希望的最优布局可以看做是一个最优化问题,最优化目标可以设定为组合数最多、吸引力加成最高或者收入加成最高。我们首先以组合数最多作为目标来考虑。最简单的考虑是遍历搜索所有可能的排列方式,一个个与专区列表进行比较,找出组合数最多的情况。不过这个方法计算量大的突破天际,假设区域容量为n,那么计算量是o(56^n),正常的电脑是不可能在有生之年找出结果的。所以我们得找个简化计算量的方法来做。

           由于专区可能为2个或者3个设施的组合,因此当区域的容量为2时,专区数最大只能为1。那么再看区域容量为3的情况,在不考虑专区组合方式约束的情况下,最多的专区数显然是由(3设施专区*1+2设施专区*3)组成(当然实际游戏中由于专区组合方式的约束,最多的专区数是3,由(3设施专区*1+2设施专区*2)或者(2设施专区*3)组成)。也就是说,在更大区域中,比较好的组合必定要包含之前我们看到的专区数比较多的情况对吧~那么同理,在区域容量为4的时候,是不是我们就应该选择区域容量为3的时候比较好的组合方式,每个组合都遍历加入不同的设施的情况,再统计专区数比较好的组合方式……显然,这种方法是一种贪婪思想,不能保证找出真正数学意义上的最优解,但是由于这个游戏的专区组合方式不算复杂,所以从游戏的角度而言,只要贪婪程度不是那么高,最优布局要找出来是没啥问题的。

           经过计算,当区域数为12时,区域内专区数最大为21,共有14种组合,如下所示,其中所有游戏机都可以被同类的上位游戏机替换,:

    Max Themed Areas: 21
    ['Angry Missile', 'Begemmed', 'Beijing', 'Big Hitters', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Train Heist', 'Turning Dance', 'Wanna be Rich?']
    ['Angry Missile', 'Begemmed', 'Big Hitters', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Roshambo', 'Speed Required', 'Train Heist', 'Turning Dance', 'Wanna be Rich?']
    ['Angry Missile', 'Big Hitters', 'Digital Fight', 'Flipper Fan', 'Insane Cab', 'Mallet Mammals', 'Rail Baron', 'Road Fight II', 'Roshambo', 'Speed Required', 'Train Heist', 'Wanna be Rich?']
    ['Angry Missile', 'Begemmed', 'Beijing', 'Big Hitters', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance', 'Up The River', 'Wanna be Rich?']
    ['Begemmed', 'Big Hitters', 'Digital Fight', 'Flipper Fan', 'Mallet Mammals', 'Plumber Bros.', 'Road Fight II', 'Speed Required', 'The Gun Show', 'Turning Dance', 'Wanna be Rich?', 'Zombie Home']
    ['Big Hitters', 'Flipper Fan', 'Insane Cab', 'Mallet Mammals', 'Plumber Bros.', 'Rail Baron', 'Road Fight II', 'Roshambo', 'Speed Required', 'The Gun Show', 'Train Heist', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Flipper Fan', 'Gradient', 'Mallet Mammals', 'Plumber Bros.', 'Road Fight II', 'Speed Required', 'The Gun Show', 'Turning Dance', 'Wanna be Rich?', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Cutie Fruits', 'Flipper Fan', 'Mallet Mammals', 'Plumber Bros.', 'Road Fight II', 'Speed Required', 'The Gun Show', 'Turning Dance', 'Wanna be Rich?', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Flipper Fan', 'Mallet Mammals', 'Plumber Bros.', 'Road Fight II', 'Roshambo', 'Speed Required', 'The Gun Show', 'Turning Dance', 'Wanna be Rich?', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Flipper Fan', 'Gradient', 'Mallet Mammals', 'Plumber Bros.', 'Road Fight II', 'Speed Required', 'The Gun Show', 'UFO Interloper', 'Wanna be Rich?', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Flipper Fan', 'Gradient', 'Mallet Mammals', 'Plumber Bros.', 'Road Fight II', 'Speed Required', 'The Gun Show', 'Turning Dance', 'UFO Interloper', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Cutie Fruits', 'Flipper Fan', 'Mallet Mammals', 'Plumber Bros.', 'Road Fight II', 'Roshambo', 'Speed Required', 'The Gun Show', 'Turning Dance', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Breakthrough', 'Flipper Fan', 'Gradient', 'Mallet Mammals', 'Plumber Bros.', 'The Gun Show', 'Turning Dance', 'UFO Interloper', 'Wanna be Rich?', 'Zombie Home']
    ['Begemmed', 'Big Hitters', 'Breakthrough', 'Flipper Fan', 'Gradient', 'Mallet Mammals', 'Plumber Bros.', 'Speed Required', 'The Gun Show', 'UFO Interloper', 'Wanna be Rich?', 'Zombie Home']

          仅仅从设立的优化目标来看,我们的任务似乎已经完成了,但是真的是专区数越多就越好吗?这得看我们从什么方面去看待这个问题。单纯从收入的角度而言,收入最大的组合是专区数为21的下列组合,可以增加收入1765,但是要知道,排名并列第二的两个组合,收入增加量为1750,但专区数仅为18个和19个,超过了其它13种专区数为21的组合。。。

    ['Angry Missile', 'Begemmed', 'Beijing', 'Big Hitters', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance', 'Up The River', 'Wanna be Rich?']

          而在吸引力方面,专区数为21的所有组合全军覆没,最大吸引力加成的组合是专区数为18的下列组合,达到了464,而专区数为21的组合最大吸引力加成为413。

    ['Angry Missile', 'Big Hitters', 'Creperie', 'Cutie Fruits', 'Flipper Fan', 'Insane Cab', 'Juice Machine', 'Rail Baron', 'Roshambo', 'Speed Required', 'Train Heist', 'Turning Dance']

          因此,视应用场合的不同,我们得到的最优布局当然也是不尽相同的233……所以,下面仅仅给出在专区数最多的情况下,收入最高的各区域布局方式:

    Areas: 2
    Max Themed Areas: 1
    ['Digital Fight', 'Digital Fight']
    Appeal: 15   Cost: 150
    
    Areas: 3
    Max Themed Areas: 3
    ['The Claw', 'Token Machine', 'Token Storm']
    Appeal: 74   Cost: 375
    
    Areas: 4
    Max Themed Areas: 5
    ['Angry Missile', 'Insane Cab', 'Rail Baron', 'Speed Required']
    Appeal: 126   Cost: 370
    
    Areas: 5
    Max Themed Areas: 7
    ['Angry Missile', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Speed Required']
    Appeal: 151   Cost: 570
    
    Areas: 6
    Max Themed Areas: 9
    ['Angry Missile', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required']
    Appeal: 161   Cost: 750
    
    Areas: 7
    Max Themed Areas: 11
    ['Angry Missile', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance']
    Appeal: 208   Cost: 900
    
    Areas: 8
    Max Themed Areas: 13
    ['Angry Missile', 'Begemmed', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance']
    Appeal: 233   Cost: 1080
    
    Areas: 9
    Max Themed Areas: 15
    ['Angry Missile', 'Begemmed', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance', 'Wanna be Rich?']
    Appeal: 282   Cost: 1250
    
    Areas: 10
    Max Themed Areas: 17
    ['Angry Missile', 'Begemmed', 'Big Hitters', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance', 'Wanna be Rich?']
    Appeal: 321   Cost: 1320
    
    Areas: 11
    Max Themed Areas: 19
    ['Angry Missile', 'Begemmed', 'Beijing', 'Big Hitters', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance', 'Wanna be Rich?']
    Appeal: 360   Cost: 1515
    
    Areas: 12
    Max Themed Areas: 21
    ['Angry Missile', 'Begemmed', 'Beijing', 'Big Hitters', 'Digital Fight', 'Insane Cab', 'Rail Baron', 'Road Fight II', 'Speed Required', 'Turning Dance', 'Up The River', 'Wanna be Rich?']
    Appeal: 384   Cost: 1765

          可能由于某些组合过于优秀,导致从区域为4开始,组合的雷同性很高,不过也并非一定要以这个作为优化目标,比如做全局尽可能多的不同专区啊这种也是很有意思的。以上。

    程序和专区组合数据的github地址:https://github.com/PolarisShi/PocketArcadeStorySolver

     

    展开全文
  • 游戏工具

    千次阅读 2016-06-16 21:51:11
    public class GameUtility { /// /// 查找子节点 /// public static Transform FindDeepChild(GameObject _target, string _childName) { Transform resultTrs = null;
    public class GameUtility
    {
        /// <summary>
        /// 查找子节点
        /// </summary>
        public static Transform FindDeepChild(GameObject _target, string _childName)
        {
            Transform resultTrs = null;
            resultTrs = _target.transform.Find(_childName);
            if (resultTrs == null)
            {
                foreach (Transform trs in _target.transform)
                {
                    resultTrs = GameUtility.FindDeepChild(trs.gameObject, _childName);
                    if (resultTrs != null)
                        return resultTrs;
                }
            }
            return resultTrs;
        }

    还需要查找子节点的脚本,通过泛型的方式来

        /// <summary>
        /// 查找子节点脚本
        /// </summary>
        public static T FindDeepChild<T>(GameObject _target, string _childName) where T : Component
        {
            Transform resultTrs = GameUtility.FindDeepChild(_target, _childName);
            if (resultTrs != null)
                return resultTrs.gameObject.GetComponent<T>();
            return (T)((object)null);
        }
    

    对于UIPanel中的面板的深度排序也是很重要的

    /// <summary>
        /// 根据最小depth设置目标所有Panel深度,从小到大
        /// </summary>
        /// 
        private class CompareSubPanels : IComparer<UIPanel>
        {
            public int Compare(UIPanel left, UIPanel right)
            {
                return left.depth - right.depth;
            }
        }
    
        /// <summary>
        /// 重新设置obj下所有的UIPanel的层深度
        /// </summary>
        public static void SetTargetMinPanel(GameObject obj, int depth)
        {
            List<UIPanel> lsPanels = GetPanelSorted(obj, true);
            if (lsPanels != null)
            {
                int i = 0;
                while (i < lsPanels.Count)
                {
                    lsPanels[i].depth = depth + i;
                    i++;
                }
            }
        }
    
        /// <summary>
        /// 获得指定目标最大depth值
        /// </summary>
        public static int GetMaxTargetDepth(GameObject obj, bool includeInactive = false)
        {
            int minDepth = -1;
            List<UIPanel> lsPanels = GetPanelSorted(obj, includeInactive);
            if (lsPanels != null)
                return lsPanels[lsPanels.Count - 1].depth;
            return minDepth;
        }
    
        /// <summary>
        /// 返回最大或者最小Depth界面
        /// </summary>
        public static GameObject GetPanelDepthMaxMin(GameObject target, bool maxDepth, bool includeInactive)
        {
            List<UIPanel> lsPanels = GetPanelSorted(target, includeInactive);
            if (lsPanels != null)
            {
                if (maxDepth)
                    return lsPanels[lsPanels.Count - 1].gameObject;
                else
                    return lsPanels[0].gameObject;
            }
            return null;
        }
    
        /// <summary>
        /// 获取target下所有UIPanel并按从小到大排序
        /// </summary>
        private static List<UIPanel> GetPanelSorted(GameObject target, bool includeInactive = false)
        {
            UIPanel[] panels = target.transform.GetComponentsInChildren<UIPanel>(includeInactive);
            if (panels.Length > 0)
            {
                List<UIPanel> lsPanels = new List<UIPanel>(panels);
                lsPanels.Sort(new CompareSubPanels());
                return lsPanels;
            }
            return null;
        }

    下面编写添加子节点和修改子节点的方法

     /// <summary>
        /// 添加子节点
        /// </summary>
        public static void AddChildToTarget(Transform target, Transform child)
        {
            child.parent = target;
            child.localScale = Vector3.one;
            child.localPosition = Vector3.zero;
            child.localEulerAngles = Vector3.zero;
    
            ChangeChildLayer(child, target.gameObject.layer);
        }
    
        /// <summary>
        /// 修改子节点Layer  NGUITools.SetLayer();
        /// </summary>
        public static void ChangeChildLayer(Transform t, int layer)
        {
            t.gameObject.layer = layer;
            for (int i = 0; i < t.childCount; ++i)
            {
                Transform child = t.GetChild(i);
                child.gameObject.layer = layer;
                ChangeChildLayer(child, layer);
            }
        }

    到这里一个简单的工具类基本上就完成了,前期就这些功能,后面可以再进行扩展,加入一些新的功能,最近还在学设计模式,对我设计这些东西还是非常有帮助的,今天先写到这里。

    展开全文
  • 游戏类实例为null

    2016-07-04 13:10:05
    查找到很多的地方,最后的原因是实例化的这个继承了MonoBehavior,通过new方法实例化MonoBehavior的子类返回的是null。 这个内容就牵扯到了继承自MonoBehavior的和普通的了。 我们在unity中创建脚本的时候...

    今天在开发的过程中出现了一个,就是游戏对象我初始化了,并且new了,但是查不来的时候对象是null,这是我遇到问题

    查找到很多的地方,最后的原因是实例化的这个类继承了MonoBehavior类,通过new方法实例化MonoBehavior的子类返回的是null。

    这个内容就牵扯到了继承自MonoBehavior的类和普通的类了。

    我们在unity中创建脚本的时候都会默认继承: MonoBehaviour类,这个类ide会自动帮我们去实例化,如果我们自己通过new方法进行实例化,编译器不会报错,运行时也不会报错,我才用的unity 版本是(5.3.5),但是我们new以后得到的东西确是null,这个错误我也在网上找了一些东西,但是没有结果,此处仅记住这个错误,以后有时间进行处理,希望路过的大神给点指点

    展开全文
  • 查找有关特定类型/方面的游戏设计技巧/建议。 您可以使用搜索或浏览特定于标签的页面来查找所需的文章。 建于。 贡献 有兴趣添加指向游戏设计库的链接吗? 极好的! 我们接受所有捐款,因此请尽快建立公关! 即使您...
  • 在servlet配置中将productionMode更改为true(嵌套在UI中) 运行“ MVN清洁包” 使用“ mvn jetty:run-war”测试战争文件 客户端编译 默认情况下,生成的maven项目正在使用自动生成的窗口小部件集。 当您...
  • 三消类游戏的核心算法

    千次阅读 2015-01-24 16:48:53
    查找数组中某个元素 将该元素的地址分别存放在两个数组里面 查看该数组8个方向有没有相同元素,假如有继续沿该方向判断,没有则判断下一个 将该元素变为x 判断附加 然后进行塌的算法
  • 这段时光一直在查找function的问题,今天正好有机会和大家分享一下. 开言: 以前lufy先辈写过叫“html5游戏开发-零基础开发RPG游戏”的系列文章,在那里头我学习了他的引擎以及了解了游戏脚本。自从看了那...
  • 报错一般用回溯回到代码里面,具体报错到底是代码还是配置只可以去走读代码和打log来查找 对于策划经常配置错误的部分目前报错已有中文提示“XX策划配置XX的输出“” 1.根据lua代码报错第一行显示的位置,在SVN工程...
  • Java HexGrid和Trie的自定义实现,用于模拟六角形游戏。 概括 这个项目最初是一个编码挑战,我作为总部位于旧金山的数据驱动广告公司Quantcast的申请过程的一部分完成了此工作。 当我最终从公司那里获得要约并接受...
  • 这两个星期可以说是觉都没睡好,公司公测后运行的游戏,完成一个任务后内存飚到1G多,靠这游戏还能怎么玩,让玩家怎么玩啊,一个月几十万的充值势头,怕没两个星期就会掉下去。这几天一直和主程不停的查找原因。当然...
  • lua中其实是没有的,有的只是表(table),而之间的继承也就是将父类的表连到了一起,派生中没有找到的属性和方法就通过元表查找父类2.lua中的属性 classA = {width =10, height=10}...
  • Java的查找与排序

    2018-09-29 21:43:20
    Java中的查找: 顺序查找,指从第一个元素开始,以此查找。典型的有List中的indexOf方法。 int index=list.indexOf("内容"); 该方法的本质就是...Java的util包中的Arrays的binarySearch方法可以进...
  • //本可自动检查游戏存档中的数值//属于模板//T代表要寻找数据的类型//如金钱,生命等属于整型//但不排除以后要查找其他类型的数据。为了可扩充性,使用了模板。template class CheckBinaryFile{ public: ...
  • 仔细想想,不论是猜数字,还是猜字母,这类游戏的特点就是我们要查找的序列是有序的。在这种有序的序列上应用二分查找可以大大缩短查找时间。 2. 二分查找的代码实现 我们首先实现二分查找, def bin...
  • C++实现轻量级的关键词查找系统

    千次阅读 2018-12-31 20:35:33
    多数游戏中,都会提供关键词查找的功能,即通过输入一个子串,最终返回所有包含该子串的记录; 具体的应用场景包括:陌生人查找, 公会查找,消息记录查找等等。 对于这需求,查找的数据范围往往会很广,如果是...
  • 扩展方法之二分查找

    2012-08-09 13:04:00
    近期项目策划案调整,要求程序按音乐时间及位置等条件迅速定位当前游戏角色正在使用的动作,因为查询会非常频繁,因此决定使用二分查找。 C#类库中有二分查找,分散于Array、List、ArrayList等中,但接口不...
  • 我记得我在京东的时候,面试过大概10个候选人,当我问到算法的时候,大部分人说我只会写简单的排序算法和二分查找的算法。 其实,我先不说排序算法就有十多种,二分查找,你确定你真的会么? 原理很简单,细节是...
  • 这样有个工具查找到泄露的地方就再好不过了。 本文主要简单介绍使用mat工具来定位。 1、出现泄露。  本人开发游戏过程中用到了jbox2d,而每个在释放一个world时,必须调用方法释放里面的body,否则就会产生...
  • 本项目是一个很有特点的数字残影记忆游戏,需要在特定的时间内记住所有数字,并按照从小到大排序以此点击...耐玩完美简洁无BUG,之前也发布过很多其他免费的小游戏源码,需要更多可以自己在javaapk游戏分类下查找下载。
  • 内存特征码查找--摸索

    千次阅读 2009-03-02 22:06:00
    下午在广海论坛看到别人的一个关于游戏内存特征码查找的帖子,有了些兴趣。想研究下其原理,看了下Ollydb和CE之的软件,其中对内存的显示都是16进制的字符形式。也想试下那种效果。 个人感觉这个查找是字符串匹配...
  • Dictionary

    2009-12-07 22:53:00
    最近人工智能老师布置了一道八数码游戏,先是在网上down下了个C#实现的八数码游戏,界面做的很好,采用的是广度搜索。队列就用的Queue,还用到了一个就是Dictionary,两个都采用泛型技术。其中dictionary是键值...
  • 通过Swing框架,实现图形界面,在图形界面中添加文本框架实现文本编辑,通过鼠标菜单栏添加事件监听实现保存、另存为、查找、替换等功能 部分源码展示 public static void main(String[] arg) { Inter inter=new ...
  • GameObject、MonoBehavior

    2020-03-01 11:58:32
    1、 2、 3、GameObject I、Static Functions: 1)Destroy(既可以销毁游戏物体,也可以销毁组件,同时也...FindObjectsOfType(查找多个游戏物体,但不查找未激活的游戏物体) · 3)CreatePrimitive 4)Find(根...
  • 一套用于进行自制游戏开发的工具,包括查找表生成器,以及将图像生成到C出口商的Nintendo的Gameboy Advance,DS和3DS系统。 此外,该程序的GUI版本允许您在导出之前查看图像在真实硬件上的外观。 目录 特征 方法论...
  • 销毁游戏对象与移除游戏对象上的组件② 实例化预制件到游戏场景中(克隆游戏对象)③ 在切换场景时保留游戏对象④ 根据游戏对象的类型查找(2)GameObject① 创建游戏对象(并添加组件)② 为游戏对象添加组件③ ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 692
精华内容 276
关键字:

查找类游戏