小编Law*_*Dol的帖子

Java 2D游戏编程 - 新手问题

我们是一个程序员和设计师的团队,我们希望制作一个中型Java游戏,它将在网络浏览器中作为applet播放.我(程序员)有3年的一般开发经验,但我之前没有做任何游戏编程.

我们假设:

  • 我们将决定比赛的情节,故事情节等.

  • 我们将创建一个我们需要的资产(图像)列表,即玩家图像,怪物图像,城镇,建筑物,树木,物体等.(我们现在不添加任何音乐/声音效果)

  • 设计师将在阅读我购买的一些游戏编程书籍时开始创建这些图像.设计师将创建游戏的第一个城镇/级别,然后将这些图像传递给我,我将开始编写第一级,他将开始下一级别,并且在4-5级之后我们将发布v.1游戏

问题1:这是用于此项目的正确方法吗?

问题2:设计人员应该以什么格式创建这些图像.它们应该是.bmp,.jpeg还是.gif文件?并且,他会将所有这些图像放在一个文件中,还是将每个怪物/对象/建筑物放在自己的文件中?注意; 我们现在坚持使用2D而不是3D.

问题3:我看过一些游戏工具,里面会有一个怪物的文件,在那个文件中有大约3-4张来自不同方向的怪物图像,全部放在一个文件中,我想因为它们'是动画的一部分.这是一个插图:

[怪物向右看] ...... [怪物在前方看着] ...... [怪物向右看[

所有这些都在一个档案中.这是他将如何向我提供这些动画吗?

我想要找出的是,他将为我提供设计图像的格式是什么,以便我能够在Java代码中轻松访问/操作它们.

所有答案赞赏:)

java 3d 2d sprite

3
推荐指数
1
解决办法
3538
查看次数

CSS选择器样式

简单的问题,可能反映了我对CSS的经验不足,但......

创建样式表时,我喜欢明确指定'*'通配符,因此:

*.TitleText {
Run Code Online (Sandbox Code Playgroud)

而不仅仅是

.TitleText {
Run Code Online (Sandbox Code Playgroud)

我发现它提醒我TitleText应用于"any"标签,并且可以被后续的h1.TitleText覆盖.也许我只是喜欢这个,因为在最长的时间里我没有正确地得到整个CSS选择器概念,当我意识到第二个(上面)只是第一个的简写时,很多东西都"点击"了.

我做的是不良做法,良好做法,还是既不在这里也不在那里?

css css-selectors

2
推荐指数
1
解决办法
1224
查看次数

如何在Java中访问命令行上提供的属性?

java -Ddata=args -Dcommit=no -jar post.jar
Run Code Online (Sandbox Code Playgroud)

在上面的脚本中,如何datacommit在访问java的

java syntax

2
推荐指数
1
解决办法
89
查看次数

如何确定Student类的两个实例是否代表同一个学生?

我有一个Java类

class Student
{
    String name;
    int age;
}
Run Code Online (Sandbox Code Playgroud)

另外,我有学生类的两个实例student1student2.

找出两个实例是否代表"同一学生"的一种方法是手动比较数据,即名称和年龄.如果它们是相同的,那么它们代表"同一个学生".

有没有其他方法可以找出这两个实例是否代表"同一个学生"?

PS我在接受采访时被问到这个问题.我仍然不完全理解"同一个学生"这个短语.我猜它在现实世界中意味着同一个学生.如果没有,面试官还有什么意思呢?

java

2
推荐指数
2
解决办法
1万
查看次数

IFrame弹出"窗口",显示和隐藏,跨域

我有一个网页,设计为弹出窗口,必须由许多外部网站托管.当用户单击主机网页中的按钮时,该按钮应该会显示我的iFrame.然后,用户与我的iFrame页面进行交互以完成特定任务,并最终点击页面中的"关闭"按钮,框架再次隐藏.但是,因为这两个文档位于不同的域中(并且必须这样做),所以我遇到了浏览器安全限制.

我的托管页面无法操纵托管iFrame中的CSS以将其更改为display:block,但它可以操纵框架本身.并且托管的iFrame无法"到达"iFrame元素来操纵 CSS以将iFrame更改display为/从块/隐藏.

我无法看到在托管文档中有一个按钮显示iFrame和/或其内容的同时,托管文档中的按钮能够操纵相同的元素来隐藏iFrame和/或它的内容.

只要它不需要第三方JS库,就可以使用任何创造性的解决方案,因为我们几乎无法控制托管网站,并希望尽可能少地强加它们 - 理想情况下,我们提供一小部分他们嵌入页面以使用我们的交互式服务的HTML.

另外,作为一个例外,当我从托管文档中显示iFrame本身时,整个显示被iFrame取代而不是iFrame覆盖它,主机文档仍然可以在其后面显示.

html javascript css iframe cross-domain

1
推荐指数
1
解决办法
5707
查看次数

视频文件下载链接

我有一个想要提供下载链接的视频。但是,创建了一个简单<a href="myvideo.mp4">Download</a>标签后,当我单击它(在Firefox和Chrome中)时,它开始播放视频,而不是允许下载视频。有没有一种方法可以在所有当前浏览器中强制其提供“另存为”对话框?

html video download

1
推荐指数
1
解决办法
6751
查看次数

具有语义死组件的URL有什么优势?

我今天注意到SO在表单中使用了魔术URL.例如,一个问题是".../questions/[nnn]/[description].作为一个实验,在显示一个问题时,我改变了描述并点击了输入.正如预期的那样,它没有影响请求,问题只显示很好,只有垃圾网址:

http://stackoverflow.com/questions/1933822/flksdjfkljlfs
Run Code Online (Sandbox Code Playgroud)

我认为,但可能是错误的,这反映了一种RESTful的URL方法.由于我正在构建一个新的Web应用程序,我想知道,为什么这比一些更"传统"的替代方案更好?

http://stackoverflow.com/questions/1933822
http://stackoverflow.com/questions?Question=1933822
Run Code Online (Sandbox Code Playgroud)

由于我无法定义的原因,使用具有完全冗余和忽略信息的URL(问题名称)似乎是错误的.

url http

0
推荐指数
1
解决办法
117
查看次数

为什么这个java程序构造函数不能无限地继续下去?

看一些代码,学习线程:

import java.applet.*;
import java.awt.*;

public class CounterThread extends Applet implements Runnable
{ 
 Thread t; 
 int Count;

 public void init() 
 { 
  Count=0;
  t=new Thread(this);
  t.start();
 }

 public boolean mouseDown(Event e,int x, int y)
 { 
  t.stop();
  return true;
 }

 public void run()
 {
  while(true)
  {
   Count++;
   repaint();
   try {
    t.sleep(10);
   } catch (InterruptedException e) {}
  }
 }

 public void paint(Graphics g)
 {
  g.drawString(Integer.toString(Count),10,10);
  System.out.println("Count= "+Count);
 }

 public void stop()
 {
  t.stop();
 }
}
Run Code Online (Sandbox Code Playgroud)

在构造函数中:

public void init()  {   
    Count=0; …
Run Code Online (Sandbox Code Playgroud)

java multithreading

0
推荐指数
1
解决办法
400
查看次数

如何为Mac OSX创建类似Windows的可点击快捷方式?

我正在帮助一位同事设置一些我用Java编写的GUI编程工具.

我需要创建一个可点击的图标来运行设置当前目录的应用程序,然后调用JVM,将参数传递给程序.也很好的是能够使用我为程序创建的PNG图标图像.

我怀疑我需要创建一个脚本,并以某种方式将其添加到屏幕底部的启动器条上.一旦手动创建就是我需要的,而不是程序化的.

这样做的正确方法是什么?

java macos launch

0
推荐指数
1
解决办法
4362
查看次数

这是怎么得到8的?

这是代码:

class qual
{
    public static int fibonacci(int n)
    { 
        if (n == 0 || n == 1) 
        { 
            return 1; 
        } 
        else 
        { 
            return fibonacci(n-1) + fibonacci(n-2); 
        } 
    } 

    public static void main(String[] arg) 
    {
        System.out.println(fibonacci(5));
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是8.输出应该是8但是当我看这个时我觉得它应该是7((5-1) +(5-2)).

为什么输出8?我认为获得8后面的推理会使递归可能不再让我感到困惑.

java recursion fibonacci

-3
推荐指数
4
解决办法
587
查看次数