Coretan kod yang diberikan ialah pelaksanaan program Java yang mencipta pokok Krismas dengan hiasan yang dijana secara rawak. Walau bagaimanapun, program ini mempunyai isu di mana perhiasan yang bergerak di luar sempadan pokok tidak dipindahkan dengan betul dalam sempadan. Untuk membetulkan isu ini, kaedah move() dalam kelas Star perlu diubah suai untuk menyemak sama ada mencapai sempadan bekas dan arah terbalik dengan sewajarnya.
Berikut ialah kaedah move() yang diperbetulkan:
public void move() { if (location.x < 0 || location.x > frame.getContentPane().getWidth() - 20) { xIncr = -xIncr; } if (location.y < 0 || location.y > frame.getContentPane().getHeight() - 20) { yIncr = -yIncr; } translate(xIncr, yIncr); location.setLocation(location.x + xIncr, location.y + yIncr); }
Dalam versi diperbetulkan ini, kaedah move() menyemak untuk mencapai sempadan kiri, kanan, atas dan bawah bekas (frame.getContentPane()) dalam keadaan if. Jika mana-mana sempadan ini dicapai, xIncr atau yIncr yang sepadan akan diterbalikkan, menyebabkan hiasan bertukar arah dan bergerak semula dalam sempadan.
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Perhiasan Beranimasi dalam Sempadan Pokok Krismas Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!