अच्छा, सरल प्रश्न: मेरे पास एक सिंगलटन ऑब्जेक्ट है जो scala.swing.Panel
बढ़ाता है, और मैं इसे एक साधारण माउस क्लिक पर प्रतिक्रिया देना चाहता हूं। लेकिन ... अच्छा, यह काम नहीं करता है। चूंकि स्कैला की ऐसी नई भाषा है, इसलिए विशिष्ट समस्याओं के लिए इंफोस ढूंढना इतना आसान नहीं है। शायद आप मदद कर सकते हैं:एक विस्तारित पैनल में स्कैला स्विंग प्रतिक्रियाएं
import scala.swing._
import scala.swing.event._
import java.awt.{Graphics2D, Color}
object GamePanel extends Panel {
val map: TileMap = new TileMap(10, 10)({
(x, y) =>
if (x == y) new Wood
else if (x == 5) new Water
else new Grass
})
reactions += {
case MouseClicked(src, pt, mod, clicks, pops) => {
selectedTile = (pt.x/map.tw, pt.y/map.th)
println("Clicked")
repaint
}
}
var selectedTile = (0, 0)
override def paint(g: Graphics2D) = {
map.draw(g)
g.setColor(Color.red)
g.drawRect(selectedTile._1 - 1, selectedTile._2 - 1, 33, 33)
}
}
सुनने के लिए धन्यवाद।
धन्यवाद बहुत आपकी या आपकी मदद! –