2017-10-15 3 views
1

私はjavafxを使ってゲームをしています。以前はawtでいくつかのゲームをコーディングしていたので、ゲームの仕組みに関する基本的な感覚があります。 (私はバッファリングされたイメージを使用しました)しかし、javafx APIの新しいもので、古いゲームアーキテクチャがjavafxにも当てはまるかどうかは疑問です。これが私のゲームの現在のロジックです:javafxゲームでエンティティをレンダリングする適切な方法は?

enter image description here

これは私のレンダリングがどのように動作するかです:

List<Entity> entities= new ArrayList<Entity>; 
GraphicsContext gc; ///imagine that I created a new GraphicsContext object 

renderメソッドの内部で、それは基本的に次のようになります。

しかし
for(Entity e : entities) 
{ 
    gc.drawImage(e.getX(),e.getY(),e.getImage()); 
} 

をjavafxには非常に多くの新機能があるので、私はこのアプローチが時代遅れか非効率かどうか疑問に思っています。これらのエンティティを移動するか、イメージを移動する必要がありますか?私は宇宙シューティングゲームに取り組んでいます。したがって、Interpolate()とTransitionはゲームを改善しますか?

特定のjavafxゲームチュートリアルはありませんので、私はここでいくつかの助けを求める必要があります。 ありがとうございます!

+0

[例]について 'Timeline'、を見(https://stackoverflow.com/q/39185306/230513)。 – trashgod

+0

@trashgod私は現在、私のループにAnimationTimerを使用しています。 EntityクラスをImageViewのサブクラスにすることについてどう思いますか? – Ptolemorphism

+0

イメージを描画するのにImageViewのようにあまりメモリを必要としないので、それは悪い考えかもしれません。 ImageViewは、より多くの不要なオプションを提供し、ゲーム開発に使用すべきではありません! –

答えて

2

あなたがやっているやり方は、私の意見では、これを行うための最善の方法です。私はこれと同様のことを行い、このようなエンティティを使用しました: package jumpNRun.gameObjects;

import java.util.List; 
import javafx.scene.image.Image; 
import javax.xml.bind.annotation.XmlRootElement; 
import jumpNRun.gameObjects.entitys.Solid; 


@XmlRootElement 
public class Entity { 

    protected Image entityImage; 

    protected double gravity = 0; 

    protected int height = 0, width = 0; 

    protected int x = 0, y = 0; 

    protected int id = 0; 
    /** 
    * Class speciefed informations 
    */ 
    protected String extraInfo; 
    protected boolean killed = false; 

    public String getExtraInfo() { 
     return extraInfo; 
    } 

    public void setExtraInfo(String extraInfo) { 
     this.extraInfo = extraInfo; 
    } 

...など 上図は次のように行うことができます。

gc.drawImage(backround, 0, 0); 
    for (Entity e : entitys) { 
     gc.drawImage(e.getEntityImage(), e.getX(), e.getY()); 
    } 
+0

私が作ったゲームプロジェクトをあなたに与えてもらいたいなら、それは素晴らしいことではありませんが役に立つかもしれません –

関連する問題