游戏制作中遇到的问题记录

标签: Unity 场景传值
70人阅读 评论(0) 收藏 举报
分类:

功能:根据玩家的选择得到不同结果

思路:

使用PlayerPrefs类(用于本地持久化保存与读取的类)记录变量yes,no,记录问题个数q和问题个数c(几个变量的初始化写在start方法中)。

编写一个choiceClick类用于监听按钮行为,其中yesClick()方法记录点击首选项的次数,方法noClick()记录点击第二个选项的次数。游戏过程中问题出现个数设置为有限个(五个),当选择到第五个选项时跳至final()方法比较两个按钮的数值从而实现跳转至不同结果的场景。(话音外:emmm应该还有更简便的方法,,)

大概代码:

public void yesClick()
    {
        if (PlayerPrefs.GetInt("q") < c)//c为问题个数
        {
            PlayerPrefs.SetInt("yes", PlayerPrefs.GetInt("yes")+1);//更新y的值
            //Debug.Log("yes");
            if (PlayerPrefs.GetInt("q")==0)
            {
                //动作1
              } 
            if(PlayerPrefs.GetInt("q") == 1)
            {
                //动作2
            }
            PlayerPrefs.SetInt("q",++i);
        }
        else
        {
            final();
        }
    }

问题:同一场景中进行第三个选择时q的数值不会改变,仍然为0

原因:在按钮中添加了choiceClick类,相当于第二个选择和第三个选择(该场景中的选择从第二个开始)都是独立调用,并不是调用同一个,所以数值只会在重复点击该按钮时才会更新。

解决方法:remove该类,建立名为script对象并将其拉至prefab中作为预制体,将类放置进该对象中,再拉进onclick()中将该类中的方法与该按键关联起来。


项目整合后,场景转换时q的数值没有进行叠加而是像上面所出现的问题一样重新开始记录

原因:每次转换场景时,start()方法会运行一次,也就是说每次场景转换的时候这些变量都会被重新初始化一次

解决方法:

在第一个场景中新建一个类对这些变量进行初始化,意味着整个游戏过程中这些变量只被初始化一次



查看评论

【Linux--工作记录】工作中遇到的问题总结--更新中

1、安装rmp包时出现错误 :header V3 DSA signature: nokey ,key id .....     解决办法:rmp -ivh **** .rmp  --force --n...
  • a872728984
  • a872728984
  • 2015年04月02日 09:27
  • 207

毕设项目期间遇到的问题记录

项目期间遇到的问题记录一下,方便查看 1、问题:MyEclipse启动tomcat时报错"A Configuration error occurred during startup."       ...
  • u013082989
  • u013082989
  • 2016年03月26日 14:13
  • 1016

记录学习过程中的疑问和解决方案,不断提高自己

常常遇到自己以前遇到过的技术问题,虽然之前解决了,但时间一长就忘记了,记录博客是个好习惯,可以节省很多时间。 每天都有输入和输出才是最有效率的学习方式,也希望通过记录博客督促自己抓紧学习,努力转变,...
  • guiyuxin
  • guiyuxin
  • 2017年05月24日 20:19
  • 61

【Java--工作记录】工作遇到的问题记录--更新中

1、简单排序问题:选择排序,中间变量k,双层循环 2、字符串判断为空,判断为null应该放在前面,判断为""放后面,不然会报空指针错误 3、 & 运算是,如果对应的两个bit都是1,则那个bit结果为...
  • a872728984
  • a872728984
  • 2015年04月02日 09:23
  • 301

记录自己学习心得以及工作中遇到问题的总结

第一次来这里写文章,以后会陆续更新其他文章。
  • xieming1601
  • xieming1601
  • 2016年09月10日 09:22
  • 307

记录一下本周的主要工作及遇到的问题

本周首先是将上一周遗留的tf-idf的工作做完,提取了高词频,并且首次输入到google中试了一试,但是出现了很多问题,难以解决,最大的问题就是google会出验证码,这样的话严重限制了每天的访问量导...
  • u010970698
  • u010970698
  • 2017年07月23日 22:03
  • 207

个人毕设中遇到的问题记录(1)

1.关于$.ajax()  $.post()里面 $.ajax() -- 执行异步的ajax请求 通过HTTP请求加载远程的数据 语法: $.ajax([settings]) 参数settin...
  • qq_33481944
  • qq_33481944
  • 2017年03月18日 20:07
  • 155

Android开发环境部署 及 常见问题解决

Android开发环境部署 及 常见问题解决
  • yifeng4321
  • yifeng4321
  • 2016年07月03日 13:16
  • 208

Java实习生在项目中遇到的问题

配置项目时出现的问题: 1.输入用户名和密码登录不上 解决方法:并不是数据库的问题,进入前台代码目录页面,App/config 目录下点开config.js,更改 为"api_url": "ht...
  • minljm
  • minljm
  • 2017年09月05日 11:13
  • 102

android 开发中遇到的问题汇总

1.Edittext输入为密码有两种方法,分别是: Android:inputType="textPassword" android:password="true" 2.Android中grav...
  • junfeng120125
  • junfeng120125
  • 2014年01月24日 15:40
  • 5952
    个人资料
    等级:
    访问量: 67
    积分: 10
    排名: 355万+
    文章分类
    文章存档