Tôi đang tạo trò chơi RTS bằng Javascript và HTML. Nghe có vẻ đầy tham vọng, tôi biết nhưng tôi không bắn cho các vì sao ở đây. Chỉ cần một chút gì đó để giữ cho tôi giải trí.Nhận số cho giá trị kiểu KHÔNG CÓ "px;" hậu tố
Tôi hiện đang làm việc trên phần chuyển động của trò chơi. Tôi có một động cơ chuyển động nên hoạt động, nhưng có một vấn đề. Trong kịch bản của tôi, tôi so sánh các giá trị bên trái và trên cùng của một ký tự được định vị hoàn toàn với các giá trị đích của nó (có thể di chuyển) bằng cách sử dụng các câu lệnh bất bình đẳng (>
và <
). Vấn đề là phản hồi tôi nhận được biểu mẫu document.getElementById(nameVar).style.left
ở dạng một chuỗi (ví dụ: 200px
) không phải là một số (ví dụ: 200
), vì vậy các so sánh không hoạt động.
Câu hỏi của tôi là, có cách nào để biến chuỗi thành một số mà tôi có thể thao tác theo cách tôi muốn không? Hoặc bằng cách sử dụng một địa chỉ thay đổi hoặc bằng cách preforming một số thủ tục với các thông tin phản hồi một khi tôi nhận được nó.
Mọi trợ giúp đều tuyệt vời.
Một nếp nhăn khác: đôi khi giá trị x và y được giữ ở một phần pixel (ít nhất trên máy XP của tôi trong Firefox và Chrome). parseInt() cuộn cảm trên những thứ đó. Thay vì parseInt(), tôi thấy rằng tôi phải sử dụng parseFloat(), nó hoạt động rất tốt và có thêm một số đặc tính xử lý các số nguyên. Có lẽ đây chỉ là một tai nạn phát sinh từ thiết lập cụ thể của tôi. Nhưng tôi đã có mã này chạy trong sáu tháng và không có vấn đề gì. Bạn có thể muốn xem xét sử dụng parseFloat(). –
Tôi nghĩ document.getElementById (nameVar) .style.left.replace ('px', '') hiệu quả hơn một chút –
Nếu bạn sử dụng ['parseInt'] (https://developer.mozilla.org/en/ JavaScript/Reference/Global_Objects/parseInt), hãy đảm bảo truyền '10' làm tham số thứ 2. Hành vi không phải lúc nào cũng có thể dự đoán được khi nó không được thông qua. 'parseInt (x, 10)'. –