- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1步步教你做汉偌塔游戏
汉偌塔游戏制作
一:开篇
思路:
看上去游戏应该像这个样子,有排行榜,有游戏规则说明,有制作公司,还有返回。我们大家玩其他游戏都大概是这个样子,只不过他们的美工非常漂亮,由于我们艺术细胞很少,只能达到这样的粗糙的样子。
为了完成这个模样,我们要做什么呢?
创建5个面板,每一个面板如上图,一个主面板容器
创建卡片布局的容器,然后把5个面板放进去。
使用数组装载盘子,柱子等组件对象,实现容器中组件移除和添加。
处理鼠标点击事件
二:开始行动:
1.首先我们构建一个主容器窗体,在这个窗体中我们才能放置我们设计的面板。
public class MainFrame extends JFrame{
}
当程序启动后,从什么地方执行呢?哦,从main()方法开始执行,所以我们要定义一个main()方法
public class MainFrame extends JFrame{
public static void main(String[] args){
}
}
main()方法是固定格式写的,所以这不用多说,下一步,我们要产生一个窗体。
public static void main(String[] args){
MainFrame mf = new MainFrame();
}
这样我们就可以开始我们的游戏之旅了。既然我们要放置四个面板到这个窗体中,那么我们可以认为这几个面板是我们窗体的属性,我们的窗体包容他们,所以我们这样定义:
public class MainFrame extends JFrame{
/**主选择面板*/
MainPanel mp ;
/**帮助信息面板*/
HelpPanel hp ;
/**制作人面板*/
MakerPanel mkp;
/**查看排行信息的面板*/
HeroPanel hrp;
/**游戏主界面*/
HanoiFrame heroFrame;public static void main(String[] args){
MainFrame mf = new MainFrame();
}
}
由于我们要求每个面板都要显示同样的宽度,大小,还有统一在屏幕正中央显示,而且每次只显示一个面板的内容,那么哪种布局满足我们的要求呢?―――卡片布局管理器。因此,我们要定义一个卡片布局。
/**卡片布局管理器*/
private CardLayout cardLayout;
/**主面板容器*/
private JPanel mainPanel;public class MainFrame extends Jframe
第二步:mainPanel = (JPanel)this.getContentPane();
第三步://得到卡片布局管理器
cardLayout = new CardLayout();
//设置容器布局为卡片布局管理器
mainPanel.setLayout(cardLayout);
第四步:生成组件,这里是生成5个面板。
//创建五个面板
mp = new MainPanel(this,mainPanel,cardLayout);
mkp = new MakerPanel(mainPanel,cardLayout);
hp = new HelpPanel(mainPanel,cardLayout);
hrp = new HeroPanel(this,mainPanel,cardLayout);
heroFrame = new HanoiFrame(mainPanel,cardLayout);
第五步:添加面板到容器中,这里就是添加到mainPanel中:
//将子面板加入到主面板中,然后就可以在不同的面板之间切换
mainPanel.add(mp,mainPanel);
mainPanel.add(mkp,makerPanel);
mainPanel.add(hp,helpPanel);
mainPanel.add(hrp,heroPanel);
mainPanel.add(heroFrame,hanoiFrame); //设置窗体属性
setTitle(汉偌塔演示);
this.setDefaultCl
文档评论(0)