IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jakub Giesler:6.7.2014 11:52

Čus lidi dělám si vlastní variaci na framework ale zasekl jsem se u třídy startdrawing(); a stopdrawing(); a píše mi to chybu : source not found : zde zdoják

package GreenFramework.core;

import java.awt.Color;
import java.awt.Graphics;

public class test extends Core {
        private static final long serialVersionUID = 1L;

        private Screen screen = new Screen();

        public void init() {
                super.setScreenSize(800, 600);
                super.StartGame();
                screen.setFrame(0, "TestFramework", this, true, false);
        }

        public static void main(String[] args) {
                test t = new test();
                t.init();
        }

        public void Draw() {
                Graphics draw = this.getGraph();
                StartDrawing();

                draw.setColor(Color.GREEN);
                draw.fillRect(25, 25, 45, 45);

                StopDrawing();
        }
        public void Update() { }

}

a třída s které dědí

package GreenFramework.core;

import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferStrategy;

public abstract class Core extends Canvas implements Runnable {
        private static final long serialVersionUID = 1L;

        private boolean isRunning;

        public Core() {
                super();
                isRunning = false;
                this.setScreenSize(800, 600);
        }

        public void setScreenSize(int xx, int yy) {
                this.setSize(new Dimension(xx, yy));
        }

        public void run() {
                long last = System.nanoTime();
                long output = System.currentTimeMillis();
                double unprocessedTicks = 0;
                double nsPerTicks = Math.pow(10, 9) / 60;
                int fps = 0, ups = 0;

                while (isRunning) {
                        long now = System.nanoTime();
                        unprocessedTicks += (now - last) / nsPerTicks;
                        last = now;

                        while (unprocessedTicks >= 1) {
                                ups++;
                                unprocessedTicks--;
                                Update();
                        }

                        fps++;
                        Draw();

                        if (System.currentTimeMillis() - output > 1000) {
                                output += 1000;
                                System.out.println("FPS: " + fps + ", UPS: " + ups);
                                fps = ups = 0;
                        }
                }
        }

        private BufferStrategy buffer;
        private Graphics draw;
        public void StartDrawing() {
                buffer = this.getBufferStrategy();
                if (buffer == null) {
                        this.createBufferStrategy(3);
                        return;
                }
                draw = buffer.getDrawGraphics();
        }

        public void StopDrawing() {
                draw.dispose();
                buffer.show();
        }

        public Graphics getGraph() {
                return draw;
        }

        abstract void Draw();
        abstract void Update();

        public void StartGame() {
                isRunning = true;
                Thread t = new Thread(this);
                t.start();
        }

}

a třída screen

package GreenFramework.core;

import java.awt.BorderLayout;

import javax.swing.JFrame;

public class Screen extends JFrame{
        private static final long serialVersionUID = 1L;

        public void setFrame(int operation, String title, Core c, boolean visible, boolean resizable) {
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                this.setLayout(new BorderLayout());
                this.setTitle(title);
                this.add(c);
                this.pack();
                this.setResizable(resizable);
                this.setVisible(visible);
                this.setLocationRelativeTo(null);
        }

}

Please pomozte.

Odpovědět
6.7.2014 11:52
C#?....Pff pro padavky,,..Java?....Jsi můj člověk! :D
Avatar
Samuel Kodytek
Tvůrce
Avatar
Samuel Kodytek:6.7.2014 11:59

Mělo by ti to napsat i na jaký řádce to spadne, prosím napiš jí sem... :)

Editováno 6.7.2014 12:00
Nahoru Odpovědět
6.7.2014 11:59
There is more than one way to screw it
Avatar
Jakub Giesler:6.7.2014 13:56

řádek s bufferstrategy[me|]6133[­/me|]

Editováno 6.7.2014 13:57
Nahoru Odpovědět
6.7.2014 13:56
C#?....Pff pro padavky,,..Java?....Jsi můj člověk! :D
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.