![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
ikar177 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.8.2007 Репутация: нет Всего: нет |
Помогите плиз с такой вот задачей, есть прога на java/jogl, application , надо сделать из него апплет, чтобы можна было ее в хтмл вставить...я попытался, но видно еще опыта не хватает..заранее спасибо...вот листинг
import java.awt.*; import java.awt.event.*; import java.util.Random; import net.java.games.jogl.*; import net.java.games.jogl.util.GLUT; public class MoueMove11 { static Animator animator = null; static class Renderer implements GLEventListener, MouseListener, MouseMotionListener { private float xrot = 0; private float yrot = 0; private float z = -3.8f; private int prevMouseX, prevMouseY; public boolean mouseRButtonDown = false; Random random = new Random(); public float x1 =0.2f; public float y1 = 0.1f; public float z1 = 0; public float n =2; public float k = 2; public float l = 2; public float a1 =0.4f; public float b1 = 0.1f; public float c1 = 0.3f; // A0,B0,C0,1,-C-A/B,B public float A = 1; //random.nextInt(3); public float B = -l-n/k; // random.nextInt(3); public float C = k; public float D = -A*a1-B*b1-C*c1; public void display(GLDrawable gLDrawable) { final GL gl = gLDrawable.getGL(); final GLU glu = gLDrawable.getGLU(); DrawLine drawline = new DrawLine(); DrawPlane drawplane = new DrawPlane(); DrawString drawstring = new DrawString(); DrawAxes drawaxes = new DrawAxes(); gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); gl.glLoadIdentity(); gl.glTranslatef(0.0f, 0.0f, this.z); gl.glRotatef(-90, 1.0f, 0.0f, 0.0f); gl.glRotatef(-100, 0.0f, 0.0f, 1.0f); gl.glRotatef(15, 0.0f, 1.0f, 0.0f); gl.glRotatef(xrot, 1.0f, 0.0f, 0.0f); gl.glRotatef(yrot, 0.0f, 1.0f, 0.0f); gl.glClearColor(1,1,1,1); float fLightPos[] = { -100.0f, 100.0f, 50.0f, 1.0f }; // Point source float fNoLight[] = { 0.0f, 0.0f, 0.0f, 0.0f }; float fLowLight[] = { 0.25f, 0.25f, 0.25f, 1.0f }; float fBrightLight[] = { 0.2f, 0.2f, 0.2f, 0.2f }; gl.glLightModelfv(gl.GL_LIGHT_MODEL_AMBIENT, fNoLight); gl.glLightfv(gl.GL_LIGHT0, gl.GL_AMBIENT, fLowLight); gl.glLightfv(gl.GL_LIGHT0, gl.GL_DIFFUSE, fBrightLight); gl.glLightfv(gl.GL_LIGHT0, gl.GL_SPECULAR, fBrightLight); gl.glEnable(gl.GL_LIGHTING); gl.glEnable(gl.GL_LIGHT0); gl.glEnable(gl.GL_COLOR_MATERIAL); gl.glColorMaterial(gl.GL_FRONT, gl.GL_AMBIENT_AND_DIFFUSE); gl.glMaterialfv(gl.GL_FRONT, gl.GL_SPECULAR, fBrightLight); gl.glLineWidth(1); drawaxes.Axes(gl,10,1.2f,xrot,yrot); gl.glColor3f (0.0f, 10.0f, 10.10f); gl.glLineWidth(1); drawplane.Plane(gl,0.8f,A,B, C, D); gl.glLineWidth(2); gl.glColor3f (110.0f, 0.0f, 0.0f); drawline.Line(gl, 0.8f ,x1,y1,z1,n,k,l); gl.glPushMatrix(); gl.glLineWidth(1); gl.glColor3f (0.0f, 0.0f, 0.0f); gl.glTranslatef(a1,b1,c1); gl.glRotatef(yrot, 0.0f, -1.0f, 0.0f); gl.glRotatef(xrot, -1.0f, 0.0f, 0.0f); gl.glRotatef(15, 0.0f, -1.0f, 0.0f); gl.glRotatef(-100, 0.0f, 0.0f, -1.0f); gl.glRotatef(-90, -1.0f, 0.0f, 0.0f); drawstring.String(gl, GLUT.STROKE_MONO_ROMAN,0.01f, 0.01f, 0.01f, "M("+ x1+","+y1+","+z1+")"); gl.glPopMatrix(); gl.glPointSize(4f); gl.glBegin(GL.GL_POINTS); gl.glVertex3f(a1,b1,c1); gl.glEnd(); } public void init(GLDrawable gLDrawable) { final GL gl = gLDrawable.getGL(); gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); gl.glShadeModel(GL.GL_FLAT); gLDrawable.addMouseListener((MouseListener) this); gLDrawable.addMouseMotionListener((MouseMotionListener) this); } public void reshape(GLDrawable gLDrawable, int x, int y, int width, int height) { final GL gl = gLDrawable.getGL(); final GLU glu = gLDrawable.getGLU(); if (height <= 0) height = 1; final float h = (float)width / (float)height; gl.glViewport(0, 0, width, height); gl.glMatrixMode(GL.GL_PROJECTION); gl.glLoadIdentity(); glu.gluPerspective(45.0f, h, 1.0, 20.0); gl.glMatrixMode(GL.GL_MODELVIEW); gl.glLoadIdentity(); } public void displayChanged(GLDrawable glDrawable, boolean b, boolean b1) { //To change body of implemented methods use File | Settings | File Templates. } public void mouseDragged(MouseEvent e) { int x = e.getX(); int y = e.getY(); if (mouseRButtonDown) { xrot = (float)(x - prevMouseX); yrot = (float)(y - prevMouseY); } else { prevMouseX = x; prevMouseY = y; } } public void mouseMoved(MouseEvent e) { //To change body of implemented methods use File | Settings | File Templates. } public void mouseClicked(MouseEvent e) { //To change body of implemented methods use File | Settings | File Templates. } public void mousePressed(MouseEvent e) { prevMouseX = e.getX(); prevMouseY = e.getY(); if ((e.getModifiers() & e.BUTTON3_MASK) != 0) { mouseRButtonDown = true; } } public void mouseReleased(MouseEvent e) { if ((e.getModifiers() & e.BUTTON3_MASK) != 0) { mouseRButtonDown = false; prevMouseX = e.getX(); prevMouseY = e.getY(); } } public void mouseEntered(MouseEvent e) { //To change body of implemented methods use File | Settings | File Templates. } public void mouseExited(MouseEvent e) { //To change body of implemented methods use File | Settings | File Templates. } } public static void main(String[] args) { Frame frame = new Frame("My First Polygon"); GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities()); canvas.addGLEventListener(new Renderer()); frame.add(canvas); frame.setSize(700, 700); animator = new Animator(canvas); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { animator.stop(); System.exit(0); } }); frame.show(); animator.start(); canvas.requestFocus(); } } |
|||
|
||||
Metal_Heart |
|
|||
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: нет Всего: 12 |
ikar177, оформишь свой код в виде
тогда и поговорим конктретнее. A еще лучше, сначала научись делать примитивный апплет, типа "hello ikar177" http://java.sun.com/applets/ http://java.sun.com/javase/6/docs/api/java...ng/JApplet.html http://forum.vingrad.ru/act-Search/CODE/sh...plet/index.html Это сообщение отредактировал(а) Metal_Heart - 16.8.2007, 09:14 -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
ikar177 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.8.2007 Репутация: нет Всего: нет |
Как простые апплеты писать я знаю, у меня переделать ен получается, возникает ошибка апплет не проинициализирован...вот код в более читабельном виде
|
|||
|
||||
Metal_Heart |
|
|||
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: нет Всего: 12 |
вот тебе рыба, наполняй своим содержимым
только методы не переопределяй! -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
ikar177 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.8.2007 Репутация: нет Всего: нет |
Проблема в том, что когда используешь jogl метод инит тоже переопределяется...я пробовал один инит использовать для этой библиотеки и для инициализации апплета не получилось...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Апплеты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |