2014-09-21 2 views
2

J'ai donc écrit un prototype Wolfenstein3d-style ray-caster dans Racket. Naturellement, ce n'est pas très rapide lorsqu'il est exécuté à des résolutions plus élevées, alors j'essaie de passer à la raquette dactylographiée.Dessiner des fonctions dans la raquette typée

Ma question est de savoir s'il existe un moyen de faire des graphiques (généralement) dans une raquette dactylographiée? Pour mon but particulier, tout ce que je dois être capable de faire est de dessiner une ligne, et d'afficher/découper un bitmap.

Ce que j'ai essayé:

  • Big-bang de 2htdp/universe (ce que j'utilisé à l'origine dans la raquette régulière) ne fonctionne pas avec une raquette typée, et c'est une macro complexe, donc contrairement à une fonction I-typées ne peut pas opaque require/typed il.

  • racket/draw est basé sur la classe, et le soutien pour les classes en raquette tapé est expérimental, donc je n'ai pas été surpris quand je ne pouvais pas trouver la version typed/racket/draw pour le moment.

Quelque chose qui me manque?

Répondre

3

Dans les versions récentes de Racket, vous pouvez utiliser des classes et racket/draw dans Raquette typée. Par exemple:

Welcome to Racket v6.0.1.13. 
-> (require typed/racket/draw) 
-> (make-bitmap 300 300) 
- : (Instance Bitmap%) 
(object:bitmap% ...) 

mais il est en effet vous encore au stade expérimental donc peut frapper quelques bugs ou limites. En particulier, pour l'instant, vous ne pourrez pas passer d'objets GUI entre des modules typés et non typés.

(veuillez soumettre bug reports si vous trouvez des bugs)

1

Une option consiste à placer les opérations de dessin dans un module non typé et à les appeler à partir d'un module typé.

Questions connexes