diff --git a/DGcreate/.idea/.name b/DGcreate/.idea/.name
new file mode 100644
index 0000000..0ce9de5
--- /dev/null
+++ b/DGcreate/.idea/.name
@@ -0,0 +1 @@
+FileType.java
\ No newline at end of file
diff --git a/DGcreate/.idea/inspectionProfiles/Project_Default.xml b/DGcreate/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..801f533
--- /dev/null
+++ b/DGcreate/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DGcreate/.idea/uiDesigner.xml b/DGcreate/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/DGcreate/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/DGcreate/.idea/vcs.xml b/DGcreate/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/DGcreate/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DGcreate/src/assembly/Branch.java b/DGcreate/src/assembly/Branch.java
new file mode 100644
index 0000000..0afc7b5
--- /dev/null
+++ b/DGcreate/src/assembly/Branch.java
@@ -0,0 +1,5 @@
+package assembly;
+
+public class Branch {
+
+}
diff --git a/DGcreate/src/assembly/Trigger.java b/DGcreate/src/assembly/Trigger.java
new file mode 100644
index 0000000..9605ab6
--- /dev/null
+++ b/DGcreate/src/assembly/Trigger.java
@@ -0,0 +1,21 @@
+package assembly;
+
+import java.awt.event.MouseEvent;
+
+public class Trigger {
+ int Mouse;
+ MouseEvent mouse;
+ public void mouseClicked(MouseEvent arg0){
+ if(arg0.getButton() == MouseEvent.BUTTON1){
+ Mouse = 1;
+ } else if (arg0.getButton() == MouseEvent.BUTTON2) {
+ Mouse = 2;
+ } else if (arg0.getButton() == MouseEvent.BUTTON3) {
+ Mouse = 3;
+ }
+ }
+ public int getMouse(){
+ mouseClicked(mouse);
+ return Mouse;
+ }
+}
diff --git a/DGcreate/src/compound/Backgroud.java b/DGcreate/src/compound/Backgroud.java
new file mode 100644
index 0000000..c2b13ad
--- /dev/null
+++ b/DGcreate/src/compound/Backgroud.java
@@ -0,0 +1,4 @@
+package compound;
+
+public class Backgroud {
+}
diff --git a/DGcreate/src/compound/Bgm.java b/DGcreate/src/compound/Bgm.java
new file mode 100644
index 0000000..1640e96
--- /dev/null
+++ b/DGcreate/src/compound/Bgm.java
@@ -0,0 +1,4 @@
+package compound;
+
+public class Bgm {
+}
diff --git a/DGcreate/src/compound/Character.java b/DGcreate/src/compound/Character.java
new file mode 100644
index 0000000..ed26b8a
--- /dev/null
+++ b/DGcreate/src/compound/Character.java
@@ -0,0 +1,22 @@
+package compound;
+
+import assembly.Trigger;
+
+public class Character {
+ int NowPattern = 0;
+ int Pattern[] = new int[100];
+ static int i = 0;
+ Character(int Character_Group[]){
+ Pattern = Character_Group;
+ }
+ public void Show(){
+ //将改代号的图片输出
+ }
+ public void nextPattern(){
+ Trigger trigger = new Trigger();
+ if(trigger.getMouse() == 1) {
+ NowPattern = Pattern[i];
+ i++;
+ }
+ }
+}
diff --git a/DGcreate/src/compound/Text.java b/DGcreate/src/compound/Text.java
new file mode 100644
index 0000000..8c61753
--- /dev/null
+++ b/DGcreate/src/compound/Text.java
@@ -0,0 +1,17 @@
+package compound;
+
+import assembly.Trigger;
+
+public class Text {
+ int i = 0;
+ String TextBox[] = new String[100];
+ Text(){
+ //将资源中的文本分段输入TextBox中
+ }
+ public void nextText(){
+ Trigger trigger = new Trigger();
+ if(trigger.getMouse() == 1) {
+ //输出下一句textbox到文本
+ }
+ }
+}
diff --git a/DGcreate/src/joggle/joggle.java b/DGcreate/src/joggle/joggle.java
new file mode 100644
index 0000000..c13ffdd
--- /dev/null
+++ b/DGcreate/src/joggle/joggle.java
@@ -0,0 +1,65 @@
+package joggle;
+import javax.swing.*;
+import javax.swing.filechooser.FileNameExtensionFilter;
+import java.awt.Desktop;
+import java.io.*;
+
+public class joggle {
+ public static class JFileChooserDemo{
+ public static void fileFilter(JFileChooser fd, String flag){
+ if(flag == "maindow"){
+ fd.setApproveButtonText("确定");
+ fd.setFileFilter(new FileNameExtensionFilter("DRC(*.drc)", "drc"));
+ fd.setAcceptAllFileFilterUsed(false);
+ }
+ else if(flag == "resource"){
+ fd.setApproveButtonText("确定");
+ fd.setFileFilter(new FileNameExtensionFilter("image(*.jpg,*.jpeg,*.png)", "drc"));
+ fd.setAcceptAllFileFilterUsed(false);
+ }
+ else if(flag == "look"){
+ fd.setApproveButtonText("确定");
+ fd.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ fd.setAcceptAllFileFilterUsed(false);
+ }
+ }
+ public static boolean open_resource(){
+ JFileChooser fd = new JFileChooser();
+ //fd.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ fileFilter(fd, "mindow");
+ int val = fd.showOpenDialog(null);
+ if(val == fd.APPROVE_OPTION){
+ fd.getSelectedFile();
+ return true;
+ }
+ else{
+ return false;
+ }
+ }
+ }
+
+ public static void copyFile(String oldPath, String newPath) {
+ try {
+ int bytesum = 0;
+ int byteread = 0;
+ File oldfile = new File(oldPath);
+ if (oldfile.exists()) { // 文件存在时
+ InputStream inStream = new FileInputStream(oldPath); // 读入原文件
+ FileOutputStream fs = new FileOutputStream(newPath);
+ byte[] buffer = new byte[1444];
+ int length;
+ while ((byteread = inStream.read(buffer)) != -1) {
+ bytesum += byteread; // 字节数 文件大小
+ System.out.println(bytesum);
+ fs.write(buffer, 0, byteread);
+ }
+ inStream.close();
+ }
+ } catch (Exception e) {
+ System.out.println("复制单个文件操作出错");
+ e.printStackTrace();
+ }
+ }
+}
+
+
diff --git a/DGcreate/src/menu/CreateWindow.java b/DGcreate/src/menu/CreateWindow.java
new file mode 100644
index 0000000..315c2b0
--- /dev/null
+++ b/DGcreate/src/menu/CreateWindow.java
@@ -0,0 +1,149 @@
+package menu;
+
+import javax.swing.*;
+import joggle.joggle;
+
+import java.awt.*;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.io.File;
+import java.util.List;
+
+public class CreateWindow {
+ private static JFrame page = new JFrame("创作窗口");
+ private static JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ private static JPanel resource_panel = new JPanel();
+ //创作资源面板
+ private static JPanel main_panel = new JPanel();
+ //主播放面板
+ private static JPanel assembly_panel = new JPanel();
+ //组件面板
+ private static JPanel edit_panel = new JPanel();
+ //编辑面板
+ public static void setPage(){
+ page.setSize(1500,1000);
+ page.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ page.setResizable(false);
+ page.setLocationRelativeTo(null);
+ page.setVisible(true);
+ resource_panel.setPreferredSize(new Dimension(450,500));
+ resource_panel.setBorder(BorderFactory.createTitledBorder("创作资源"));
+ main_panel.setPreferredSize(new Dimension(1000,500));
+ main_panel.setBorder(BorderFactory.createTitledBorder("播放窗口"));
+ assembly_panel.setPreferredSize(new Dimension(450,450));
+ assembly_panel.setBorder(BorderFactory.createTitledBorder("组件"));
+ edit_panel.setPreferredSize(new Dimension(1000,450));
+ edit_panel.setBorder(BorderFactory.createTitledBorder("操作栏"));
+ page.add(panel);
+ panel.add(resource_panel);
+ panel.add(main_panel);
+ panel.add(assembly_panel);
+ panel.add(edit_panel);
+ }
+ public static class Set_resource_panel{
+ Set_resource_panel(){
+
+ }
+ public static void choose_file(){
+ JFrame frame = new JFrame("File Drag and Drop");
+ JLabel label = new JLabel("Drag and drop a file here.");
+
+ label.setTransferHandler(new TransferHandler() {
+ @Override
+ public boolean canImport(TransferSupport support) {
+ // 检查是否支持拖放文件
+ return support.isDataFlavorSupported(DataFlavor.javaFileListFlavor);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean importData(TransferSupport support) {
+ // 处理拖放操作
+ if (!canImport(support)) {
+ return false;
+ }
+ Transferable transferable = support.getTransferable();
+ try {
+ List files = (List) transferable.getTransferData(DataFlavor.javaFileListFlavor);
+ for (File file : files) {
+ System.out.println(file.getAbsolutePath());
+ // 在此处处理文件
+ // ...
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+ }
+ });
+
+ label.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent e) {
+ JComponent c = (JComponent) e.getSource();
+ TransferHandler handler = c.getTransferHandler();
+ handler.exportAsDrag(c, e, TransferHandler.COPY);
+ }
+ });
+
+ frame.getContentPane().add(label);
+ frame.setSize(400, 300);
+ frame.setLocationRelativeTo(null);
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setVisible(true);
+
+ }
+
+ }
+ public static void remove_file(){
+
+ }
+ public static class Set_main_panel{
+ public static void play(){
+
+ }
+ public static void suspend(){
+
+ }
+ }
+ public static class Set_assembly_panel{
+ public static void choose_assembly(){
+
+ }
+ }
+ public static class Set_edit_panel{
+ Set_edit_panel(){
+
+ }
+ public static void set_track(){
+
+ }
+ public static void delete_track(){
+
+ }
+ public static void shield_track(){
+
+ }
+ public static void open_sound(){
+
+ }
+ public static void close_sound(){
+
+ }
+ public static void open_frame(){
+
+ }
+ public static void close_frame(){
+
+ }
+ public static void track_magnetic_attraction(){
+
+ }
+ public static void delete_trackResource(){
+
+ }
+ }
+}
diff --git a/DGcreate/src/menu/FileType.java b/DGcreate/src/menu/FileType.java
new file mode 100644
index 0000000..cf95e86
--- /dev/null
+++ b/DGcreate/src/menu/FileType.java
@@ -0,0 +1,35 @@
+package menu;
+import sun.misc.BASE64Encoder;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+
+
+public class FileType {
+ public static String change_sound_io(File media){
+ BASE64Encoder encoder = new BASE64Encoder();
+ try{
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ byte[] bytes = byteArrayOutputStream.toByteArray();
+ FileInputStream in = new FileInputStream(media);
+ in.read(bytes);
+ in.close();
+ return encoder.encodeBuffer(bytes).trim();
+ }catch(IOException e1){
+ e1.printStackTrace();
+ return "false";
+ }
+ }
+ public static void input_File(String str) {
+ File file = new File(MainWindow.ReturnFile + MainWindow.Filename);
+ try {
+ FileOutputStream fileOutputStream = new FileOutputStream(file, true);
+ try {
+ fileOutputStream.write(str.getBytes(StandardCharsets.UTF_8));
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ }
+ } catch (FileNotFoundException e1) {
+ e1.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/DGcreate/src/menu/MainWindow.java b/DGcreate/src/menu/MainWindow.java
new file mode 100644
index 0000000..97b7a8f
--- /dev/null
+++ b/DGcreate/src/menu/MainWindow.java
@@ -0,0 +1,126 @@
+package menu;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import joggle.joggle;
+import java.io.*;
+
+
+//主窗口
+public class MainWindow extends menu {
+ private static JFrame page = new JFrame("主菜单");
+ private static JFrame create_page = new JFrame("创建");
+ private static JTextField fileName = new JTextField();
+ private static Container c = page.getContentPane();
+ private static Container c1 = create_page.getContentPane();
+ private static int flag = 0;
+ protected static String ReturnFile;
+ protected static String Filename;
+ //创建主窗口
+ public static void main(String[] args) {
+ page.setSize(1500,1000);
+ page.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ page.setResizable(false);
+ page.setLocationRelativeTo(null);
+ page.setVisible(true);
+ c.setLayout(null);
+ new_create();
+ open();
+ }
+ public static void setCreate_page(){
+ create_page.setSize(800,600);
+ create_page.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ create_page.setResizable(false);
+ create_page.setLocationRelativeTo(null);
+ create_page.setVisible(true);
+ c1.setLayout(null);
+ if(flag == 0){
+ setFileName();
+ create();
+ cancel();
+ }
+ }
+ //创建新的创作
+ public static void new_create() {
+ JButton b = new JButton("创建");
+ b.setBounds(625,300,250,50);
+ c.add(b);
+ b.setDefaultCapable(true);
+ b.setVisible(true);
+ //鼠标触发事件
+ b.addActionListener(new AbstractAction() {
+ public void actionPerformed(ActionEvent e) {
+ setCreate_page();
+ }
+ });
+ }
+ //打开
+ public static void open(){
+ JButton b = new JButton("打开");
+ b.setBounds(625,400,250,50);
+ c.add(b);
+ b.setDefaultCapable(true);
+ b.setVisible(true);
+ //鼠标触发事件
+ b.addActionListener(new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ joggle.JFileChooserDemo.open_resource();
+ }
+ });
+ }
+ //创建文件
+ public static void create(){
+ JButton b = new JButton("创建");
+ b.setBounds(260,300,250,50);
+ c1.add(b);
+ b.setDefaultCapable(true);
+ b.setVisible(true);
+ b.addActionListener(new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ JFileChooser fd = new JFileChooser();
+ joggle.JFileChooserDemo.fileFilter(fd,"look");
+ int val = fd.showOpenDialog(null);
+ if(val == fd.APPROVE_OPTION){
+ File file = fd.getSelectedFile();
+ file.getPath();
+ //获取预览地址
+ ReturnFile = file.getPath();
+ try {
+ File newfile = new File(file, fileName.getText() + ".drc");
+ Filename = fileName.getText()+".drc";
+ newfile.createNewFile();
+ //创建文件,格式为自创drc格式
+ }catch (IOException e1){
+ e1.printStackTrace();
+ }
+ CreateWindow.setPage();
+ page.setVisible(false);
+ create_page.setVisible(false);
+ //打开创作窗口
+ }
+ }
+ });
+ }
+ public static void setFileName(){
+ fileName.setBounds(260,200,250,50);
+ c1.add(fileName);
+ fileName.setVisible(true);
+ }
+ public static void cancel(){
+ JButton b = new JButton("取消");
+ b.setBounds(260,400,250,50);
+ c1.add(b);
+ b.setDefaultCapable(true);
+ b.setVisible(true);
+ b.addActionListener(new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ create_page.setVisible(false);
+ flag++;
+ }
+ });
+ }
+}
diff --git a/DGcreate/src/menu/menu.java b/DGcreate/src/menu/menu.java
index 5fe99a6..422e7a5 100644
--- a/DGcreate/src/menu/menu.java
+++ b/DGcreate/src/menu/menu.java
@@ -1,13 +1,22 @@
package menu;
import javax.swing.*;
-public class menu {
+//公用菜单抽象类
+abstract public class menu {
+ //主界面窗口
public static void main(String[] args){
- JFrame page = new JFrame("主菜单");
- page.setSize(800,450);
- page.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- page.setResizable(false);
- page.setLocationRelativeTo(null);
- page.setVisible(true);
+
+ }
+ //问题反馈
+ public void feedback(){
+
+ }
+ //帮助
+ public void help(){
+
+ }
+ //设置
+ public void settings(){
+
}
}