Java考核知识复盘

        Java考核进行得比较顺利,考核的学长学姐特别好,没有十分紧张,所以发挥的也不错。接下来对我在考核中出现的一些知识性问题进行复盘。

        问题1:游戏的碰撞检测都有哪些方法?

        首先是游戏的设计,我选择常规的游戏,超级玛丽进行考核,整体的设计思路是模仿尚学堂的教程,其中有一部分自己的思想和功能。出问题的一点是碰撞检测,我用的方法是不断获取坐标来判断是否实现碰撞,但这种方法有两方面的弊端:一是计算量、代码量复杂,我捣鼓了好久。二是会在一些特殊情况出现bug,比如在一些比较刁钻的角度会出现穿模的情况,这明显违背游戏合理严谨的原则。经过查询各种资料,实现碰撞检测有三种方法:

        1.矩形碰撞检测。矩形碰撞检测的基本思路是将物体视为一个矩形,然后判断两个矩形是否发生了重叠,如果重叠则认为发生了碰撞。

        在Java中可以通过创建Rectangle的对象,并调用其构造方法,向其中传入障碍物的坐标即可。然后通过intersects()方法判断两个矩形是否相交。

        2.圆形碰撞检测。这是一种更加精确的碰撞检测方法。圆形碰撞检测的基本思路是将物体视为一个圆形,然后计算两个圆形之间的距离,如果距离小于两个圆形的半径之和,则认为发生了碰撞。具体实现可以通过计算两个圆形中心点之间的距离来判断是否发生了碰撞。        

具体用Java实现的话,可以写一个Cricle类,构造方法中定义圆的参数,并写一个intersects()方法来判断圆是否碰撞。

        3.像素碰撞检测:这是一种更加精确但计算量较大的碰撞检测方法。像素碰撞检测的基本思路是将物体视为一个矩形,并将矩形内的像素点进行比较,如果有重叠的像素点,则认为发生了碰撞。具体实现可以通过读取两个物体的像素数据,然后比较它们之间的重叠情况来判断是否发生了碰撞。    

        这种方法也是我最初用的方法,比较原始,但计算量大,十分麻烦,在小型游戏中,一般采用矩形碰撞检测就可以满足需求。由于我对像素坐标计算不够精细,就会导致问题的产生。

        问题2:如何在一个构造方法中,去调用另一个构造方法?

        这个问题之前见过一两次,但不够重视,而且当时看的博客写的也比较乱,难以记忆,想的起来问题,却想不起来答案。

        在 Java 中,可以使用 this() 关键字在一个构造方法中调用另一个构造方法。这种语法称为构造方法重载,它可以让你在一个构造方法中重用另一个构造方法的代码。

如果你想在一个构造方法中调用同一个类中的另一个构造方法,可以使用 this() 关键字,后跟需要调用的构造方法的参数列表。

        而关于super()。如果你想在一个构造方法中调用父类的构造方法,可以使用 super() 关键字,后跟需要调用的构造方法的参数列表。

        问题3:如何具体实现向下转型?

        在 Java 中,使用向下转型可以将一个父类对象转换为其子类对象。但需要满足两个条件:

      1. 父类对象本身就是子类对象,即父类对象引用的实际对象是子类对象。

        2.父类对象已经被向上转型为父类类型,需要将其转换回子类类型。(重点,我当时就不清楚这一点)

        向下转型具有一定的危险性,如果需要向下转型,一定好满足条件,并且抛出异常。

        先不说游戏质量,这三个是我当时考核的时候答得不好得问题,需要自己对前面得知识进行翻书,更精细得去学习回顾。最后,十分期待我作为考核官得收获。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容

  • Cocos引擎-方面: 小游戏概论,主要包括一些入门的相关知识。我们将内容分成了6个部分,分别是:1.如何正确了解...
    宫若石阅读 2,383评论 0 6
  • pygame效能很好,有很多是C语言写的;但是支持的声音格式很少,一般用.ogg的格式做背景音乐,用无压缩的.wa...
    code与有荣焉阅读 428评论 0 3
  • 游戏阶段考核总结: 1.游戏主体运行思想: (1)游戏的运行的本质是一个主类调用其他类所创建对象的函数,使运行时达...
    刘博_三月阅读 356评论 2 3
  • UIBezierPath Class Reference 译:UIBezierPath类封装了Core Graph...
    鋼鉄侠阅读 1,696评论 0 3
  • RTR4图形渲染管线 本章展示了实时图形的核心组成部分,图形渲染管线,也可以简称为管线.管线的主要功能是生成或者说...
    狂喜之诗阅读 612评论 0 0