मैं एक प्रकार का क्रॉसहेयर आकर्षित करने का प्रयास कर रहा हूंजावा ग्राफिक्स विधियों। मैंने यह लिखा लेकिन यह बहुत अधिक लगता है और मुझे लगता है कि इसे थोड़ा सा सरल बनाया जा सकता है। इसमें एक तस्वीर शामिल होगी जो यह दिखता है।
मैं इसे कैसे सरल बना सकता हूं?
graphics.setColor(mainColor);
graphics.drawRect(Mouse.getPos().x - 13, Mouse.getPos().y - 13, 27, 27); // Rectangle stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y - 512, 1, 500); // Top y axis stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y + 13, 1, 500); // Bottom y axis stroke.
graphics.drawRect(Mouse.getPos().x + 13, Mouse.getPos().y, 800, 1); // Right x axis stroke.
graphics.drawRect(Mouse.getPos().x - 812, Mouse.getPos().y, 800, 1); // left x axis stroke.
graphics.fillOval(Mouse.getPos().x - 3, Mouse.getPos().y - 3, 7, 7); // Center dot stroke.
graphics.setColor(offColor);
graphics.drawRect(Mouse.getPos().x - 12, Mouse.getPos().y - 12, 25, 25); // Rectangle.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y - 512, 0, 500); // Top y axis line.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y + 13, 0, 500); // Bottom y axis line.
graphics.drawRect(Mouse.getPos().x + 13, Mouse.getPos().y, 800, 0); // Right x axis line.
graphics.drawRect(Mouse.getPos().x - 812, Mouse.getPos().y, 800, 0); // left x axis line.
graphics.fillOval(Mouse.getPos().x - 2, Mouse.getPos().y - 2, 5, 5); // Center dot.
यह वही दिखता है और यह कैसा दिखता है।
उत्तर:
उत्तर № 1 के लिए 1एक सरलीकरण एक विधि बनाना होगा जो लपेटता है Graphics#drawRect
तरीका।
उदाहरण:
private static void drawRect (Graphics g, int x, int y, int width, int height)
{
g.drawRect(Mouse.getPos().x + x, Mouse.getPos().y + y, width, height);
}
फिर यह कॉलिंग कोड चला जाता है:
graphics.drawRect(Mouse.getPos().x - 13, Mouse.getPos().y - 13, 27, 27); // Rectangle stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y - 512, 1, 500); // Top y axis stroke.
graphics.drawRect(Mouse.getPos().x, Mouse.getPos().y + 13, 1, 500); // Bottom y axis stroke.
graphics.drawRect(Mouse.getPos().x + 13, Mouse.getPos().y, 800, 1); // Right x axis stroke.
graphics.drawRect(Mouse.getPos().x - 812, Mouse.getPos().y, 800, 1); // left x axis stroke.
सेवा मेरे:
drawRect(graphics, -13, -13, 27, 27); // Rectangle stroke.
drawRect(graphics, 0, -512, 1, 500); // Top y axis stroke.
drawRect(graphics, 0, 13, 1, 500); // Bottom y axis stroke.
drawRect(graphics, 13, 0, 800, 1); // Right x axis stroke.
drawRect(graphics, -812, 0, 800, 1); // left x axis stroke.