sizebox模型下载_【gts游戏】sizebox的一些功能介绍以及使用教程

一,打开游戏

1,start:开始游戏

2,load:读档

3,lan:联机用的(我也不会连⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄)

4,settings:设置(这个以后再详细介绍)二,开始游戏

第一次会进入选择玩家模型界面,选择完成后会进入选择地图界面地图选择

选择完成后,正式进入游戏。游戏画面

控制:

WASD:上下左右

X/Z:放大/缩小

C:爬行(附带附着效果)

E:飞翔

shift:(行走模式下)奔跑,(飞翔模式下)一下是加速,两下是超级加速。

O/P:放置男性/女性NPC

滚轮:调整摄像头

V:第一人称模式

Enter:进入载具

进入摄像头/编辑模式:Tab编辑模式界面

下方菜单栏从左到右依次是:

play:返回玩家模式

scene:现场

giantess:GTS模型

micro:小人模型

object:物品模型

move:移动

transform:控制菜单

animation:动作

pose:姿势

morphs:表情控制

delete:删除

menu:菜单gts相关控制

选中模型,右键模型select

Enable Al:Al模式

walk:走路相关

debug:无实际效果

size:增长速率设置

idle:随机做一个动作

rampage:寻找目标

cancel:取消选中

其他的没什么值得说的了在这基础选择玩家

walk:跟随

Eat:吃掉

Grab:抓住

stomp:追逐

select选中

cancel:取消

其他:

加速GTS动作:1

减速GTS动作:2

暂停GTS动作:3

阻止GTS动作:4

Q:向下水平移动

E:向上水平移动

安装模型等教程,等下次再补充吧

【此教程只针对那些有这个游戏但不会玩的小伙伴。群里有规,不能谁便放游戏链接以及模型链接,所以也请路人见谅。】

也欢迎大家加入我的粉丝(qq)群一起讨论!

群号:732996907

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的实现,你可以根据需求进行修改和完善。 Tictactoe.java ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class Tictactoe implements ActionListener { private JFrame frame; private JMenuBar menubar; private JMenu menu; private JMenuItem startItem, saveItem, exitItem; private TicPanel ticPanel; public Tictactoe() { frame = new JFrame("Tictactoe"); menubar = new JMenuBar(); menu = new JMenu("操作"); startItem = new JMenuItem("开始游戏"); saveItem = new JMenuItem("保存结果"); exitItem = new JMenuItem("退出游戏"); startItem.addActionListener(this); saveItem.addActionListener(this); exitItem.addActionListener(this); menu.add(startItem); menu.add(saveItem); menu.add(exitItem); menubar.add(menu); frame.setJMenuBar(menubar); frame.setSize(500, 500); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == startItem) { if (ticPanel != null) { frame.remove(ticPanel); } ticPanel = new TicPanel(); frame.add(ticPanel); frame.validate(); } else if (e.getSource() == saveItem) { if (ticPanel != null) { String result = ticPanel.getResult(); try { File file = new File("myText.txt"); FileWriter writer = new FileWriter(file, true); writer.write(result); writer.close(); } catch (IOException ex) { ex.printStackTrace(); } } } else if (e.getSource() == exitItem) { System.exit(0); } } public static void main(String[] args) { new Tictactoe(); } } ``` TicPanel.java ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import java.util.Random; public class TicPanel extends JPanel implements ActionListener { private int gridSize = 3; private int cellSize = 100; private int margin = 10; private int[][] board; private boolean playerTurn; private boolean gameOver; private JButton startButton; private JButton newGameButton; private JComboBox<String> sizeBox; private JLabel resultLabel; public TicPanel() { setLayout(null); setBackground(Color.LIGHT_GRAY); sizeBox = new JComboBox<>(); for (int i = 3; i <= 10; i++) { sizeBox.addItem(i + "x" + i); } sizeBox.setSelectedItem("3x3"); sizeBox.setBounds(margin, margin, cellSize, cellSize / 2); add(sizeBox); startButton = new JButton("开始"); startButton.addActionListener(this); startButton.setBounds(cellSize + margin * 2, margin, cellSize, cellSize / 2); add(startButton); newGameButton = new JButton("再来一局"); newGameButton.addActionListener(this); newGameButton.setBounds(cellSize * 2 + margin * 3, margin, cellSize, cellSize / 2); add(newGameButton); newGameButton.setEnabled(false); resultLabel = new JLabel(); resultLabel.setFont(new Font("宋体", Font.BOLD, 20)); resultLabel.setHorizontalAlignment(SwingConstants.CENTER); resultLabel.setBounds(0, cellSize * gridSize + margin * 2, getWidth(), cellSize / 2); add(resultLabel); board = new int[gridSize][gridSize]; playerTurn = true; gameOver = false; } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == startButton) { gridSize = sizeBox.getSelectedIndex() + 3; cellSize = 500 / gridSize; margin = 50 / gridSize; removeAll(); setLayout(null); setBackground(Color.LIGHT_GRAY); sizeBox.setBounds(margin, margin, cellSize, cellSize / 2); add(sizeBox); startButton.setBounds(cellSize + margin * 2, margin, cellSize, cellSize / 2); add(startButton); newGameButton.setBounds(cellSize * 2 + margin * 3, margin, cellSize, cellSize / 2); add(newGameButton); newGameButton.setEnabled(false); resultLabel.setBounds(0, cellSize * gridSize + margin * 2, getWidth(), cellSize / 2); add(resultLabel); board = new int[gridSize][gridSize]; playerTurn = true; gameOver = false; for (int i = 0; i < gridSize; i++) { for (int j = 0; j < gridSize; j++) { JButton button = new JButton(); button.setFont(new Font("宋体", Font.PLAIN, cellSize / 2)); button.setBounds(j * cellSize + margin, i * cellSize + margin * 2, cellSize, cellSize); button.addActionListener(this); add(button); } } validate(); } else if (e.getSource() == newGameButton) { for (Component component : getComponents()) { if (component instanceof JButton) { ((JButton) component).setText(""); } } board = new int[gridSize][gridSize]; playerTurn = true; gameOver = false; resultLabel.setText(""); newGameButton.setEnabled(false); } else if (e.getSource() instanceof JButton) { JButton button = (JButton) e.getSource(); int row = (button.getY() - margin * 2) / cellSize; int col = (button.getX() - margin) / cellSize; if (board[row][col] != 0 || gameOver) { return; } if (playerTurn) { button.setText("X"); board[row][col] = 1; } else { button.setText("O"); board[row][col] = 2; } playerTurn = !playerTurn; if (checkWin()) { gameOver = true; resultLabel.setText(playerTurn ? "O赢了!" : "X赢了!"); newGameButton.setEnabled(true); } else if (checkDraw()) { gameOver = true; resultLabel.setText("平局!"); newGameButton.setEnabled(true); } else if (!playerTurn) { computerTurn(); } } } private boolean checkWin() { int player = playerTurn ? 2 : 1; for (int i = 0; i < gridSize; i++) { if (board[i][0] == player && board[i][1] == player && board[i][2] == player) { return true; } if (board[0][i] == player && board[1][i] == player && board[2][i] == player) { return true; } } if (board[0][0] == player && board[1][1] == player && board[2][2] == player) { return true; } if (board[0][2] == player && board[1][1] == player && board[2][0] == player) { return true; } return false; } private boolean checkDraw() { for (int i = 0; i < gridSize; i++) { for (int j = 0; j < gridSize; j++) { if (board[i][j] == 0) { return false; } } } return true; } private void computerTurn() { List<int[]> emptyCells = new ArrayList<>(); for (int i = 0; i < gridSize; i++) { for (int j = 0; j < gridSize; j++) { if (board[i][j] == 0) { emptyCells.add(new int[]{i, j}); } } } if (emptyCells.size() > 0) { Random random = new Random(); int[] cell = emptyCells.get(random.nextInt(emptyCells.size())); int row = cell[0]; int col = cell[1]; JButton button = null; for (Component component : getComponents()) { if (component instanceof JButton) { JButton b = (JButton) component; if ((b.getX() - margin) / cellSize == col && (b.getY() - margin * 2) / cellSize == row) { button = b; break; } } } if (button != null) { button.setText("O"); board[row][col] = 2; playerTurn = true; if (checkWin()) { gameOver = true; resultLabel.setText(playerTurn ? "O赢了!" : "X赢了!"); newGameButton.setEnabled(true); } else if (checkDraw()) { gameOver = true; resultLabel.setText("平局!"); newGameButton.setEnabled(true); } } } } public String getResult() { return resultLabel.getText() + "\n"; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值