我们是一个程序员和设计师的团队,我们希望制作一个中型Java游戏,它将在网络浏览器中作为applet播放.我(程序员)有3年的一般开发经验,但我之前没有做任何游戏编程.
我们假设:
我们将决定比赛的情节,故事情节等.
我们将创建一个我们需要的资产(图像)列表,即玩家图像,怪物图像,城镇,建筑物,树木,物体等.(我们现在不添加任何音乐/声音效果)
设计师将在阅读我购买的一些游戏编程书籍时开始创建这些图像.设计师将创建游戏的第一个城镇/级别,然后将这些图像传递给我,我将开始编写第一级,他将开始下一级别,并且在4-5级之后我们将发布v.1游戏
问题1:这是用于此项目的正确方法吗?
问题2:设计人员应该以什么格式创建这些图像.它们应该是.bmp,.jpeg还是.gif文件?并且,他会将所有这些图像放在一个文件中,还是将每个怪物/对象/建筑物放在自己的文件中?注意; 我们现在坚持使用2D而不是3D.
问题3:我看过一些游戏工具,里面会有一个怪物的文件,在那个文件中有大约3-4张来自不同方向的怪物图像,全部放在一个文件中,我想因为它们'是动画的一部分.这是一个插图:
[怪物向右看] ...... [怪物在前方看着] ...... [怪物向右看[
所有这些都在一个档案中.这是他将如何向我提供这些动画吗?
我想要找出的是,他将为我提供设计图像的格式是什么,以便我能够在Java代码中轻松访问/操作它们.
所有答案赞赏:)
简单的问题,可能反映了我对CSS的经验不足,但......
创建样式表时,我喜欢明确指定'*'通配符,因此:
*.TitleText {
Run Code Online (Sandbox Code Playgroud)
而不仅仅是
.TitleText {
Run Code Online (Sandbox Code Playgroud)
我发现它提醒我TitleText应用于"any"标签,并且可以被后续的h1.TitleText覆盖.也许我只是喜欢这个,因为在最长的时间里我没有正确地得到整个CSS选择器概念,当我意识到第二个(上面)只是第一个的简写时,很多东西都"点击"了.
我做的是不良做法,良好做法,还是既不在这里也不在那里?
java -Ddata=args -Dcommit=no -jar post.jar
Run Code Online (Sandbox Code Playgroud)
在上面的脚本中,如何data和commit在访问java的?
我有一个Java类
class Student
{
String name;
int age;
}
Run Code Online (Sandbox Code Playgroud)
另外,我有学生类的两个实例student1和student2.
找出两个实例是否代表"同一学生"的一种方法是手动比较数据,即名称和年龄.如果它们是相同的,那么它们代表"同一个学生".
有没有其他方法可以找出这两个实例是否代表"同一个学生"?
PS我在接受采访时被问到这个问题.我仍然不完全理解"同一个学生"这个短语.我猜它在现实世界中意味着同一个学生.如果没有,面试官还有什么意思呢?
我有一个网页,设计为弹出窗口,必须由许多外部网站托管.当用户单击主机网页中的按钮时,该按钮应该会显示我的iFrame.然后,用户与我的iFrame页面进行交互以完成特定任务,并最终点击页面中的"关闭"按钮,框架再次隐藏.但是,因为这两个文档位于不同的域中(并且必须这样做),所以我遇到了浏览器安全限制.
我的托管页面无法操纵托管iFrame中的CSS以将其更改为display:block,但它可以操纵框架本身.并且托管的iFrame无法"到达"iFrame元素来操纵其 CSS以将iFrame更改display为/从块/隐藏.
我无法看到在托管文档中有一个按钮显示iFrame和/或其内容的同时,托管文档中的按钮能够操纵相同的元素来隐藏iFrame和/或它的内容.
只要它不需要第三方JS库,就可以使用任何创造性的解决方案,因为我们几乎无法控制托管网站,并希望尽可能少地强加它们 - 理想情况下,我们提供一小部分他们嵌入页面以使用我们的交互式服务的HTML.
另外,作为一个例外,当我从托管文档中显示iFrame本身时,整个显示被iFrame取代而不是iFrame覆盖它,主机文档仍然可以在其后面显示.
我有一个想要提供下载链接的视频。但是,创建了一个简单<a href="myvideo.mp4">Download</a>标签后,当我单击它(在Firefox和Chrome中)时,它开始播放视频,而不是允许下载视频。有没有一种方法可以在所有当前浏览器中强制其提供“另存为”对话框?
我今天注意到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(问题名称)似乎是错误的.
看一些代码,学习线程:
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编写的GUI编程工具.
我需要创建一个可点击的图标来运行设置当前目录的应用程序,然后调用JVM,将参数传递给程序.也很好的是能够使用我为程序创建的PNG图标图像.
我怀疑我需要创建一个脚本,并以某种方式将其添加到屏幕底部的启动器条上.一旦手动创建就是我需要的,而不是程序化的.
这样做的正确方法是什么?
这是代码:
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后面的推理会使递归可能不再让我感到困惑.